Spring MVC 셈플 코드 연습중 첫번째 문제..

뷰와 컨트롤러를 분리하기 위해서 JstlView 클래스를 사용해서 분리하려고 테스트 하다가 아래와 같은 오류가 발생하였다.

2006-07-02 20:25:16 StandardWrapperValve[jsp]: Servlet.service() for servlet jsp threw exception
java.lang.NoSuchMethodError: javax.servlet.jsp.tagext.TagAttributeInfo.<init>(Ljava/lang/String;ZLjava/lang/String;ZZ)V
at org.apache.jasper.compiler.TagLibraryInfoImpl.createAttribute(TagLibraryInfoImpl.java:568)
at org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:401)
at org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248)
……

쩝 이리저리 설정을 봐도 잘못된 곳은 없었는데, 문제점은 servlet.jar 파일을 클래스 패쓰에 넣어두었던 것 때문에 발생하는 것이었다.

위와 같은 문제가 발생하면 클래스 패쓰에 servlet.jar 또는 struts.jar 같은 파일이 잡혀있는지 주의 깊게 살펴보자.

모인모인 사용시 UnicodeDecodeError가 발생하는 경우 페이지가 제대로 안열리는 경우가 생길수 있다.

이때 몇몇 파일에서 except 처리를 해주면 잘 나타나게 되는 경우도 있으니 아래 파일들을 변경해보자.

~/site-packages/MoinMoin/logfile/editlog.py

<code>
try:
hostname = socket.gethostbyaddr(host)[0]
- except socket.error:
+ hostname = unicode(hostname, config.charset)
+ except (socket.error, UnicodeError), err:
hostname = host

remap_chars = {u'\t': u' ', u'\r': u' ', u'\n': u' ',}
</code>

~/site-packages/MoinMoin/logfile/logfile.py 48 line 근처.

<code>

# Decode lines after offset in file is calculated
try:
self.lines = [unicode(line, config.charset) for line in self.lines]
except UnicodeError:
self.lines = [unicode(line, "iso-8859-1") for line in self.lines]

</code>

Pragmatic AJAX 라는 책을 읽고 있는 중이다. 여러가지 DHTML , AJAX 등에 대한 내용이 담기 책은참 많은데, 이 책을 읽는 동안 여러가지 공감및 생각하게 만드는 꺼리등이 많은것 같다.

아직 다 읽은 건 아니지만, 오늘 버스안에서 읽은 내용중 (상당히 토할껏 같았다) 일부인데, 그동안 개발해오면서 이런 방향으로 고민을 한번도 해보지 않았던 …. 내가 당했다면 상당히 당황했었을 교훈을 얻은 것이 있어서 정리해보고자 한다.

그동안은 웹어플리케이션을 만들더라도 폐쇄적인 내부에서만 사용되는 비즈니스 어플리케이션들을 위주로 만들다보니 이런 경우를 당한적이 한번도 없었지만, 책에서 저자는 직접 당한뒤에 깨달음을 얻은 사례를 설명해주고 있다.

웹어플리케이션 제작시 GET/POST 방시을 아무생각없이 혹은 데이타의 사이즈때문에 혹은 파라미터를 감춰달라는 요구 등등 때문에 구분해서 사용해오진 않았는가?

이렇다면 이 책에 나온 얘기가 앞으로 닥칠 황당한 일을 미연에 방지해줄 수 있을테니 꼭 숙지해야 할 것 같다.

[책내용]

웹어플리케이션을 만들어놓고 어느날 고객으로부터 데이타가 마구 사라진다는 얘기를 들었다고 한다.  원인 분석을 해본즉… 구글 악셀러레이터때문이었다는 결론을 얻었다는데, 이유는 대부분의 검색엔진 로봇들이 그러하듯이 인덱싱/캐싱을 해서 좀더 빠르게 검색 결과를 내보내기 위해서, 페이지내에 있는 링크들을 빠르게 마구 엑세스 하면서 일종의 클릭을 해보는데, 이때 존재하는 링크중에 서버의 데이타를 변경/삭제 시키는 링크가 불행히도 "GET" 방식으로 되어있다면 ….

구글 악셀러레이터가 인덱싱하면서 해당 기능을 수행하는 결과를 초래하는 경우가 발생하는 것이다. 이러면 데이타가 사라지기도 하겠다 ㅡㅡ;;

어쨌건 결론은 서버에 뭔가 데이타를 변경시키는 역할을 하는것은 반드시 POST 로 하라는 얘기였다….

외부로 노출되는 서비스를 개발하는 사람이라면, 한번더 생각해볼 얘기다. 

Dr. Lee Jong-wook's death was announced just as the World Health Assembly began its annual conference.

After a musical interlude, the director of the United Nations Office in Geneva read a message from the U.N. secretary-general in tribute to the man who would not be around to lead this week's important public health debate.

"The secretary-general has also asked me to convey to the World Health Assembly, to the World Health Organization and its staff his sincere condolences on this sudden and tragic loss of Director-General Dr. Lee," he said. "The secretary-general extends his most heartfelt condolences to Dr. Lee's family."

Dr. Lee had served only three years of his five-year term as WHO's director-general. He joined the WHO 23 years ago. He was educated in Korea and the University of Hawaii. His first experience in public health was in the treatment of leprosy in the South Pacific.

He made his reputation as a campaigner in the treatment of tuberculosis and the use of vaccines to prevent the disease in children. In the early 1990's, Dr. Lee led the polio eradication initiative that wiped out this crippling disease in China. He moved to Geneva in 1994 to become director of WHO's global program for vaccines and immunization.

U.S. Secretary of Health and Human Services Mike Leavitt remembers a trip he took with Dr. Lee last fall to six countries in Southeast Asia.

"During the course of our travels, Dr. Lee shared with me how he was as a young boy from the war-torn country Korea. He spoke with me of three difficult, arduous months where he and his mother walked mile after mile after mile in search of his father who was, during that cold winter, in exile," he said.

"Dr. Lee experienced hardship at a very early age. And, my sense is it was the reason he chose to devote himself to public service. He offered WHO visionary leadership."

Among his accomplishments as head of the World Health Organization, Dr. Lee began a program to ensure that three-million people with HIV/AIDS would have access to the medicines they needed by the end of 2005. While the world fell short of the target, he is widely credited with having shown that universal access to medicines was possible.

Dr. Lee's associates speak fondly of, what they call, Dr. Lee's self deprecating wit. They say he had a quirky, unexpected humor that he often used to diffuse a difficult situation or just to make his friends laugh.

  • 세계보건기구 사무총장 사망소식
  • just as : ~ 막 할때에
  • interlude : 막간의 극, 쉬는시간 자체 등등, 간격,틈
  • U.N. secretary-general
  • in tribute to : ~ 을 칭송하면서 (보통 사망한사람)
  • around :이끌다…
  • convey : 전하다
  • condolences : 위로
  • extends : 전한다…
  • leprosy : 나병
  • tuberculosis : 결핵
  • polio : 소아마비
  • eradication : 뿌리뽑다
  • immunization : 면역
  • war-torn: 전쟁으로 완전히 찟어진
  • arduous : 너무 힘든 , 고된
  • exile : 1/4후퇴 같은때?
  • would have : 가정…
  • fall short : 못미치다
  • associates: 지인들, 동료들
  • fondly : 친근한, 귀여운
  • self deprecation wit : 자신을 비하? 시켜서 웃기는 …
  • quirky : 괴상한, 괴팍한?
  • diffuse : 퍼지게하다, 흩어지게하다
  1. interlude : (N-UNCOUNT) An interlude is a short period of time when an activity or situation stops and something else happens.
  2. tribute : A tribute is something that you say, do, or make to show your admiration and respect for someone.
  3. debate : A debate is a discussion about a subject on which people have different views.
  4. convey : (V) To convey information or feelings means to cause them to be known or understood by someone.
  5. condolences : (N-UNCOUNT) A message of condolence is a message in which you express your sympathy for someone because one of their friends or relatives has died recently.
  6. leprosy : (N-UNCOUNT) Leprosy is an infectious disease that damages people's flesh.
  7. tuberculosis : (N-UNCOUNT) Tuberculosis is a serious infectious disease that affects someone's lungs and other parts of their body. The abbreviation TB is also used.
  8. polio : (N-UNCOUNT) Polio is a serious infectious disease which often makes people unable to use their legs.
  9. eradication : (V) To eradicate something means to get rid of it completely.[ FORMAL ]
  10. crippling : (ADJ) A crippling illness or disability is one that severely damages your health or your body.
  11. war-torn
  12. arduous : Something that is arduous is difficult and tiring, and involves a lot of effort.
  13. hardship : (N-VAR) Hardship is a situation in which your life is difficult or unpleasant, often because you do not have enough money.
  14. accomplishments : (N-COUNT) An accomplishment is something remarkable that has been done or achieved.
  15. ensure

This is Shep O'Neal with the VOA Special English Development Report.

Winners of an environmental design competition for college students in the United States will now try to bring their ideas to market. Six teams won the second year of the event, called P-Three: People, Prosperity and the Planet.

The competition is held by the Environmental Protection Agency and other public and private organizations. Teams compete to design sustainable technologies that support economic growth but also protect the environment.

One of the winning teams is from Appalachian State University in North Carolina. The students propose to research low-cost, environmentally friendly fuels. One idea is to use waste vegetable oil to make biofuel that poor families and local farmers can use.

Another winning proposal is from Lafayette College in Pennsylvania. The students will design a water supply system in Honduras for the village of La Fortuna. They will look for simple technologies, local materials and community involvement.

Students from Portland State University in Oregon will create a Web site as a teaching tool for the local public schools. The interactive site will explain how the world is connected environmentally.

At Stanford University in California, students will put their award money toward what they call a "Green Dorm." The goal is to develop student housing where environmentally friendly systems can be tested.

Students from the University of Massachusetts at Lowell will explore a possible cancer treatment. Their work will involve compounds found in green tea.

And the sixth winning team is from the University of Michigan in Ann Arbor. The students will work with building materials made from natural compounds and plastics that can be recycled. The team will develop and test new product designs.

Forty-one teams each received ten thousand dollars to develop their projects over the school year. They presented their ideas earlier this month in Washington, D.C. Judges from the National Academies helped choose the six winners.

Each team can now receive as much as seventy-five thousand dollars more to continue work. Four teams from last year have already started small businesses.

Only schools in the United States can enter the P-Three competition, but they can work with foreign colleges and universities.

This VOA Special English Development Report was written by Jill Moss. This is Shep O'Neal.

  • the Planet : 지구
  • sustainable : 지속적으로
  • Honduras : 온두라스
  • the school year : 보통 9개월
  1. prosperity : (N-UNCOUNT) Prosperity is a condition in which a person or community is doing well financially.
  2. involvement : (N-UNCOUNT) Your involvement in something is the fact that you are taking part in it.
  3. compound : (N-UNCOUNT) A compound is an enclosed area of land that is used for a particular purpose. In (N-UNCOUNT) chemistry, a compound is a substance that consists of two or more elements.

(웹기술) 실용예제로 배우는 웹표준

근래에 들어서 하루에 하나씩 일독해내는 책이 갑자기 늘었다. 괜찮은 책들이 손에 잘 걸리는 분위기다.

이책은 여러 전문가들이 극찬하고 동료직원들도 하나씩 가지고 있는 것을 오래전부터 보던 책인데, 어떤 내용인가 하고 첫페이지를 넘겼다가 … 그만 또 일독해버렸다.

끝날때 까지 흥미진진한 내용이었고, 무엇보다도 요즘에 내가 참여하고 있는 웹페이지 국제표준화를 위한 민원/소송 준비모임 의 내용과도  일맥 상통하는 내용이고, 오래전부터 관심있었던 미 재활법 508조 등의 내용과도 관련 있는 내용이라서 더욱 재미나게 읽은것 같다.

마치 일종의 유용한 팁들을 접하는 느낌이기도 하고, 무언의 압력을 구사하는 듯 보이기도 하고, 좀더 유익한 소프트웨어를 만들지 않고 지냈던 것에 미안한 마음이 들기도 하는 복합적인 기운을 느끼게 해준 책이다.

어쨌든 유용한 정보들이 많이 있기 때문에 동료 직원들에게도 세미나를 통해서 간단하게 요약한 내용을 전달할 필요가 있겠다.

강추레벨 : A0 

With less than a month before the World Cup Championship in Germany, the attention of Italians is focused on a scandal that has engulfed the country's national sport. Radio and television broadcasts and pages and pages of newspapers are devoted to the football scandal.

Prosecutors have opened a massive investigation into allegations of fixing games and illegal betting. The Italian football federation Saturday withdrew the World Cup accreditation of a well-known referee, after he was implicated in the scandal.

Four teams in the top-level Series A are involved so far: Juventus, Milan, Lazio and Fiorentina.

Industrialist Diego Della Valle, whose family owns Fiorentina, said he is absolutely confident that his club is in no way involved in this affair.

Juventus is one of Italy's most celebrated teams. But the entire board of the team resigned last week, and its general manager is under investigation for influencing referees.

More than 40 people have been ordered to face questioning. They are being investigated for criminal association and sporting fraud.

Italy's star goalkeeper, Gianluigi Buffon, was questioned over suspected illegal betting. He says he is innocent and wants to play in the upcoming World Cup Championship.

The former team president of Bologna, Giuseppe Gazzoni Frascara, said the scandal is almost enough to make one ashamed to be Italian. He questioned whether the Italian team should even play in the world championship.

He said it is sad that this is happening just before the World Cup, which begins next month.

The Vatican newspaper, meanwhile, described the football scandal as an offense to sports and to its values.

  • inquiries : 질문. 수사
  • industriallist : 대기업가
  • accreditation : 신임장을 받은….
  • ordered to face questioning : 검찰수사 같은, 검찰소환을 받고 있다.
  • offence : 모욕
  1. engulf : (V) If one thing engulfs another, it completely covers or hides it, often in a sudden and unexpected way.
  2. devoted : (adj) (1) Someone who is devoted to a person loves that person very much. (2) If you are devoted to something, you care about it a lot and are very enthusiastic about it.
  3. Prosecutor : 검찰관, 검사 (N-COUNT) In some countries, a prosecutor is a lawyer or official who brings charges against someone or tries to prove in a trial that they are guilty.
  4. allegation :충분한 근거가 없는 주장 (N-COUNT) An allegation is a statement saying that someone has done something wrong.
  5. accreditation : 신용하다, 신임하다 (V) If an educational qualification or institution is accredited, it is officially declared to be of an approved standard.
  6. industrialist : (N-COUNT) An industrialist is a powerful businessman who owns or controls large industrial companies or factories.
  7. confident :확신하는, 자신만만한 (adj) If you are confident about something, you are certain that it will happen in the way you want it to.
  8. meanwhile : (adv) Meanwhile means while a particular thing is happening.
  9. offence : (N-COUNT) An offence is a crime that breaks a particular law and requires a particular punishment.

UML 실전에서는 이것만 쓴다

UML을 공부하려는 사람이 아닌, UML을 사용하려는 사람을 위한 책. UML 지상주의에 빠지지 않고 실용적인 관점에서 다루는 방법을 제시한다  – 알라딘 서평중 일부

서평에 나온 내용에 끌려서 오래전에 읽어봐야지 하고 사두었던 책이다. 한동안 책상 위에서 잠자던 녀석인데, 최근에 다시 UML을 그릴 일이 생겨서 작성을 하던 중에 바로이 책이 눈에 띄었다. 굴러다니던 녀석이 왠지 읽어보쇼 하는 느낌이 들어서 첫 페이지를 넘겼는데… 그것이약 3시간쯤 전이었던것 같다.

즉, 3시간 + 만에 일독을 해버렸다는 얘기다. !!! 

읽는 동안 적어도 평균 2-3 페이지마다 한번씩은 마구 웃었던 것 같다…. 아니 이런 책을 읽다가 웃다니??? 도대체 뭔소린가 싶기도 하겠지만, 스스로 찔리는 구석도 많이 느꼈고, 왜 이런 얘기를 저자가 하는가 하는 의구심이 들면서도 공감이 되었기 때문이기도 하다.

쩝… (책을 읽고난 느낌을 함축한 말)

쩝이다… 쩝…  좋은 책인데 쩝이다….

실전에서는 이것만 쓰긴 하는데, 난 또 삽질을 해야한다….  삽질을 해야한다…. 삽질을 해야한다….

어쨌건 읽는 내내 유쾌한 내용이었다. 저자의 공력에 찬사를 보낼만한 내용이다.

강추레벨 A 

(인문학) 생각의지도

최근 책을 선별하는 방법을 바꾸고 나서 선택한 몇권의 책중에 첫번째 책을 읽었다. 책을 읽는 것 만큼이나 자신이 읽을 책을 선별하는 것이 중요하다는 것을 뼈저리게 느끼고 나서 – 책에 의하면 나도 너무나 동양적인 사고를 하는지 극과 극을 달리는 주장을 하는 책들을 접할때 마다 음..이 생각도 맞는것 같고저 생각도 맞는것 같네… 라는 태도를 지니고 있는 자신을 발견 하고서는 좋은 책을잘 골라서 읽지 않으면 큰일 나겠다고 생각을 하게 되었다 – 이제는 내가 읽을 책들을 직접 사냥에 나서기로 하고 맘을 먹고 지난주에 두시간 가량을 서점에서 사냥을 통해 선별해낸 두권의 책중 하나이다. 

오랜만에 읽은 인문학 서적인것 같다. 리처드 니즈벳 이라는 사람의 글을 제자인 서울대학교 최인철 교수가 번역을한 내용이다. 무엇보다 책을 고르게된 이유는 글쎄… 서점을 헤메이다가 – 사실 역사쪽 서적을 선택하려고 했었다 – 손에 잡히는 책을 대략 훑어보는 행동을 하고 있었는데, 왠지 얇은 책이면서도 방대한… 오만가지 고민을 섞어놓은 듯한 느낌을 받는 책을 발견하게 되었다.

오오, 이건 할말이 정말 많은 사람 또는 무지 많은 지식을 가지고 있는 사람이 정말 추리고 추려서 적어놓은 글 같은데.. 라는 생각이 들면서 한장한장 읽을 때 마다 많은 생각을 하게 만드는 것이 재미난 책인 것 같아서 선택하였다.  – 사실 책 마지막에 참고서적 목록을 보고서는 좀 놀랐다. -

저자는 동양쪽의 문화에 무척 관심이 많은 듯 했다. 직접 동양의 제자들과 부딧히는 문제들을 해결하면서 느낀점도 많았으리라… 하여간 읽는 내내 여러가지 주제에 대해서 나름의 과학적인? 해석 방법을 덧붙여 가며 조목조목 나아가는 모습이 – 다분히 주제가 어떤 면에서는 충격적 (극단적 주장일 수도 있으므로) 으로 다가왔지만 – 맘에 들었다. 

일예로 동양과 서양의 어린아이가 명사와 동사의 습득의 차이를 보인다던지, 은현중에 말하며 생략하는 것도 차이가 나는 부분이랄지, 집단적인 부분적인 생각의 범주화의 차이를 설명한 부분 등등 무척 흥미로왔다.

이제 이 책을 읽고나서 나 자신이 사고하는 부분중에서 어느부분이 부족한지를 느꼈으니, 좀더 논리적으로 생각할 수 있는, 논리적인 사고의 폭을 넓힐 수 있는데 도움을 주는 녀석을 또 한번 사냥에 나서야 할 것 같다는 생각이 들었다.

….. 

I'm Shep O'Neal with the VOA Special English Agriculture Report.

Farmers use different kinds of soil conservation methods to protect their land from damage by farming and the forces of nature. One important form of soil conservation is the use of windbreaks.

Windbreaks are barriers formed by trees and other plants with many leaves. Farmers plant them in lines around their fields.

Windbreaks stop the wind from blowing soil away. They also keep the wind from destroying or damaging crops. They are very important for growing grains, such as wheat.

There have been studies done on windbreaks in parts of West Africa, for example. These found that grain harvests can be twenty percent higher in fields protected by windbreaks compared to fields without such protection.

However, windbreaks seem to work best when they allow a little wind to pass through. If the wall of trees and plants stops wind completely, then violent air motions will take place close to the ground. These motions cause the soil to lift up into the air where it will be blown away.

For this reason, a windbreak is best if it has only sixty to eighty percent of the trees and plants needed to make a solid line.

An easy rule to remember is that windbreaks can protect areas up to ten times the height of the tallest trees in the windbreak.

There should be at least two lines in each windbreak. One line should be large trees. The second line, right next to it, can be shorter trees and other plants with leaves. Locally grown trees and plants are best for windbreaks.

Windbreaks not only protect land and crops from the wind. They can also provide wood products. These include wood for fuel and longer pieces for making fences.

You can get more information about windbreaks and other forms of soil conservation from the group Volunteers in Technical Assistance. VITA, now part of EnterpriseWorks/VITA, is on the Web at vita.org.

Internet users can read and listen to our Agriculture Reports at voaspecialenglish dot com. And if you have a question, send it to special@voanews.com. Make sure to include your name and tell us where you are from. We might be able to answer your question on the air, but please know that we cannot answer questions personally.

This VOA Special Agriculture Report was written by Gary Garriott. I'm Shep O'Neal

  1. soil : (N-MASS) Soil is the substance on the surface of the earth in which plants grow.
  2. conservation : (N-UNCOUNT) Conservation is saving and protecting the environment.
  3. barrier : (N-COUNT) A barrier is something such as a rule, law, or policy that makes it difficult or impossible for something to happen or be achieved.
    A barrier is something such as a fence or wall that is put in place to prevent people from moving easily from one area to another.
  4. blow away : (PHV) When a wind or breeze blows, the air moves. 날려버리다
  5. grains : (N-COUNT) A grain of wheat, rice, or other cereal crop is a seed from it.
  6. wheat : (N-MASS) Wheat is a cereal crop grown for food. Wheat is also used to refer to the grain of this crop, which is usually ground into flour and used to make bread.
  7. violent : (ADJ) If someone is violent, or if they do something which is violent, they use physical force or weapons to hurt, injure, or kill other people.
  8. motions : (N-UNCOUNT) Motion is the activity or process of continually changing position or moving from one place to another.
  9. a solid line :실선