한국 시리즈여서인지 몰라도 3시부터 사람들이 들어가기 시작하더니 4시 30분 현재 야구장의 70%이상이 사람들로 메워져 있습니다.
추울텐데 대단한 열기네요~ 야구에 대한 열정이라고 봐도 되겠죠?
가트너에서 IT 불황을 극복할 수 있는 대안을 발표했습니다.
http://www.techworld.com.au/article/264017/gartner_recommends_20_ways_cut_it_costs?fp=4&fpid=9
그 중 회사적인 측면에서 흥미를 끄는 것은 "서버들을 통합하고 가상화 할 것(16. Consolidate and virtualize servers.)"과 "가격 부담이 적은 제품을 사용할 것(Use commodity products wherever possible)"입니다.
Server consolidation 및 virtualization의 예를 들어보면 다음과 같습니다.

위와 그림에서 보는 것처럼 mail, web server의 사용량은 얼마 되지 않음에도 불구하고 서버를 한 영역을 차지하는 반면 groupware나 ERP Server의 경우에는 항상 자원 부족으로 서버 업그레이드 혹은 추가 도입을 고려해야 하는 부담감을 안고 있습니다. 이 때 이 글을 읽으시면 모두 같은 생각을 하시게 될겁니다. "Mail Server, Web Server 자원 좀 나눠주면 좋겠는데" 라고 말이죠
가상화를 통해서 다음과 같이 변경을 시킵니다.

이와 같은 이유로 인하여 각 회사들이 가상화에 집중하고 있는 게 현실입니다. 이미 VMWare를 PC에 사용하고 계시는 분들이 계실텐데 이 때의 용어를 "Desktop Virtualization"이라 하여 클라이언트 영역으로 취급을 하게 됩니다.
서버 가상화나 클라이언트 가상화가 우리에게 가져다 주는 이점은 상당합니다.
이러한 이유가 가트너에서 IT 비용 절감 부분에 가상화를 넣은 이유가 된 것 같습니다.

위의 제목처럼 엔지니어를 찾고 있습니다. 일년에 천만원이냐구요? 아닙니다. 한달에 천만원입니다. 월봉 1000만원이면 고액 소득자에 포함되니 세금 대략 25% 정도 감하고도 750만원은 건질 수 있겠네요.
현재 진행하려는 프로젝트에서 사람을 구하고 있고 요건은 다음과 같습니다.
1. 고객사의 아키텍처 요건을 보고 어떠한 요소기술들이 필요한 지 결정하고 솔루션을 제공
2. 향후 발생할 수 있는 문제 등을 미리 파악하여 안전 장치를 만들 수 있는 사람
3. Java의 기초 통달자(API, Thread, Network 능숙)
4. 엔터프라이즈 환경을 볼 줄 아는 능력(EAI, SOA 등)
5. WAS 등의 문제가 발생했을 때 문제를 분석하는 능력 및 해결 방안을 제시할 수 있는 능력
간략하게 적어보면 위와 같습니다.
제가 아는 지인 몇 분을 빼놓고는 고객사 프로젝트에 나가서 위와 같은 사람을 찾는다면 정말 진주를 캔 심정이겠지만 아직까지 보지 못했습니다. WAS 엔지니어의 경우에는 5번 사항에는 탁월할지 몰라도 1번의 컨설팅 능력을 보유하지 못했을 확률이 많고 또한 엔진은 볼줄 알되 소위 엔진을 만들 수 있는 능력은 없을 수 있기 때문입니다.
마지막으로 가장 큰 게 의사소통 능력인데 아는 건 많이 아는 데 전달력이 부족하다거나, 커뮤니케이션 스킬이 부족하여 "결국 다 해주게 될 것을" 싸우며 하게 되는 경우라던지 별별 문제가 다 생길 수 있습니다.
낙관적이고 긍정적인 (optimistic & positive) 사고는 향후 일이 안끊기게 하는 최고의 수단이라는 것만 알고 있다면 별 문제는 없을 것입니다.
도전 하실 분? 참고로 고객은 국내(결국 세계)에서 최고로 까다로운 No.1 슈퍼갑입니다.
I don't know why I can't type Korean alphabet sometimes on this computer. It seems TTML editor bug in tattertools.
This source is a start point for monitoring JBoss application such as JMS message count, memory current and so on. Many customers don't want to buy a subsription for JBoss Operations Network(JON), so we have to give alternative monitoring tools for them.
If you want to run this application, you should download jfreechart library from jfreechar.org site.
package com.jboss.monitor;
/* ===========================================================
* JFreeChart : a free chart library for the Java(tm) platform
* ===========================================================
*
* (C) Copyright 2000-2004, by Object Refinery Limited and Contributors.
*
* Project Info: http://www.jfree.org/jfreechart/index.html
*
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation;
* either version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307, USA.
*
* [Java is a trademark or registered trademark of Sun Microsystems, Inc.
* in the United States and other countries.]
*
* --------------------
* DynamicDataDemo.java
* --------------------
* (C) Copyright 2002-2004, by Object Refinery Limited.
*
* Original Author: David Gilbert (for Object Refinery Limited).
* Contributor(s): -;
*
* $Id: DynamicDataDemo.java,v 1.12 2004/05/07 16:09:03 mungady Exp $
*
* Changes
* -------
* 28-Mar-2002 : Version 1 (DG);
*
*/
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.Millisecond;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
/**
* A demonstration application showing a time series chart where you can
* dynamically add (random) data by clicking on a button.
*
*/
public class DynamicDataDemo extends ApplicationFrame implements ActionListener {
/**
*
*/
private static final long serialVersionUID = 1L;
/** The time series data. */
private TimeSeries series;
/** The most recent value added. */
private double lastValue = 100.0;
/** Diplay recent value */
final JLabel data = new JLabel("Current Value :");
/**
* Constructs a new demonstration application.
*
* @param title
* the frame title.
*/
public DynamicDataDemo(final String title) {
super(title);
this.series = new TimeSeries("JMX Data", Millisecond.class);
final TimeSeriesCollection dataset = new TimeSeriesCollection(
this.series);
final JFreeChart chart = createChart(dataset);
final ChartPanel chartPanel = new ChartPanel(chart);
// final JButton button = new JButton("Add New Data Item");
// button.setActionCommand("ADD_DATA");
// button.addActionListener(this);
final JPanel dataPanel = new JPanel(new BorderLayout());
final JPanel content = new JPanel(new BorderLayout());
dataPanel.add(data);
content.add(chartPanel);
content.add(dataPanel, BorderLayout.SOUTH);
chartPanel.setPreferredSize(new java.awt.Dimension(500, 270));
setContentPane(content);
}
/**
* Creates a sample chart.
*
* @param dataset
* the dataset.
*
* @return A sample chart.
*/
private JFreeChart createChart(final XYDataset dataset) {
final JFreeChart result = ChartFactory.createTimeSeriesChart(
"Dynamic Data Demo", "Time", "Value", dataset, true, true,
false);
final XYPlot plot = result.getXYPlot();
ValueAxis axis = plot.getDomainAxis();
axis.setAutoRange(true);
axis.setFixedAutoRange(60000.0); // 60 seconds
axis = plot.getRangeAxis();
axis.setRange(0.0, 200.0);
axis.setAutoRange(true);
return result;
}
// ****************************************************************************
// * JFREECHART DEVELOPER GUIDE *
// * The JFreeChart Developer Guide, written by David Gilbert, is available
// *
// * to purchase from Object Refinery Limited: *
// * *
// * http://www.object-refinery.com/jfreechart/guide.html *
// * *
// * Sales are used to provide funding for the JFreeChart project - please *
// * support us so that we can continue developing free software. *
// ****************************************************************************
/**
* Handles a click on the button by adding new (random) data.
*
* @param e
* the action event.
*/
public void actionPerformed(final ActionEvent e) {
if (e.getActionCommand().equals("ADD_DATA")) {
final double factor = 0.90 + 0.2 * Math.random();
this.lastValue = this.lastValue * factor;
final Millisecond now = new Millisecond();
System.out.println("Now = " + now.toString());
this.series.add(new Millisecond(), this.lastValue);
}
}
/** ***************************************************************************** */
/* CAPTURE JMX DATA HERE */
/** ***************************************************************************** */
public void captureData() {
final double factor = 0.90 + 0.2 * Math.random();
lastValue = lastValue * factor;
final Millisecond now = new Millisecond();
System.out.println("Now = " + now.toString());
// AHAHAHAHAHAHAHAHAHAHHAHAHA
// series.add(new Millisecond(), lastValue);
series.addOrUpdate(new Millisecond(), (int)lastValue);
data.setText("Current Value : " + (int)lastValue);
}
/**
* Starting point for the demonstration application.
*
* @param args
* ignored.
*/
public static void main(final String[] args) throws Exception {
final DynamicDataDemo demo = new DynamicDataDemo("New Data Demo");
demo.pack();
RefineryUtilities.centerFrameOnScreen(demo);
demo.setVisible(true);
while (true) {
demo.captureData();
Thread.sleep(1000);
}
}
}
잘못 들어선 길을 알려주는 페이지로 오늘 처음 알았는 데 조금 놀랬습니다.
404에 웬 놈이냐~ 생각했는데 손에 든 지도를 보고 그냥 피식 웃었네요.

원래 하고자 했던 jbossian 사이트를 태터툴즈를 이용하여 심플하게 작성해보려고 했었는데 에이전시에서 개발해 놓은 템플릿을 이용하여 작성을 한 모양입니다.
스타일시트도 잘 맞지 않거니와 UI 부분을 다른 웹 사이트를 따라 하다보니 국내 사용자에게 조금 불편한 점이 있지 않나 생각합니다.
어찌하면 좋을까요.
