전략이 없는 것이 흠잡을 일은 아니지만, 그럼으로 인해 여러분의 회사에서 가려는 방향 중 일부에 대해 반대의사를 가질 수 있다.
 그러나 누구도 전략적인 반대론자를 좋아하지는 않는다. 따라서 여러분이 반대 목소리를 내기전에 3가지 해야할 일이 있다.

 1. 큰그림을 이해한다.
   - 조직의 전략은 때때로 복잡한 정치적 이슈속에서 수립된다. 어떻게 또는 왜 전략이 수립되었는지 미리 가정하지 말고
   수립에 영향을
 준 요소나 가정들 및 과정에 대해 더 많은 정보를 얻기 위해 인맥을 사용한다.

 2. 걱정하고 있는 부분과 연관지어 본다.
   - 왜 그 전략에 대해 주목하는지 스스로에게 물어보라. 변화를 두려워하고 있지는 않는가? 더 좋은 것을 알고 있다고 느끼지는 않는가?
    걱정하고 있는 부분에 대해 진정한 원인은 무엇인지 이해한다.

 3. 수립요소에 대한 다른 것을 고민한다.
   - 또래의 동료들이나 가이드를 줄 수 있는 신뢰할 수 있는 사람들에게 자문을 구한다.
    걱정거리를 설명하고 그들과 공유할 수 있다면 그들과 상의한다. 다른 사람들이 주는 가치있는 관점들에 대해 들어 본다.

 


No strategy is flawless and it's likely you'll disagree with some elements of your company's approach. But no one likes a strategy naysayer. Before you voice your disagreement, do these three things:
  1. Understand the big picture. An organization's strategy is often steeped in complex political issues. Don't assume you know how or why the strategy was developed. Use your network to find out more about the process and the assumptions and inputs used.
  2. Contextualize your concerns. Ask yourself why you object to the strategy. Are you resisting change? Do you feel you know better? Understand the true source of your concerns.
  3. Ask others for input. Look to your peers or other trusted advisers for guidance. Explain your concerns and ask them if they share them too. Hearing what others think can give you valuable perspective.
Posted by 아주 오래된 미래

 누구도 진정으로 스스로를 팔려고 하지는 않는다.
 능숙한 세일즈맨 조차도 보여주고 설명하는 것을 판매방법으로 선택하며 그에 대한 고객의 저항감을 누그러뜨리려 해왔다.
 여러분의 고객들이 사도록 설득하는 대신에, 그들에게 그들 스스로 팔도록 유도해보라.
 여러분의 제품 또는 서비스에 대해 가장 좋은 부분을 고객에게 보여주는 대신, 그들이 경험하게 하고 실험하게 하라.
 디지털 환경에서 이런 방식은 사람들이 새로운 제품 또는 서비스를 창조하는데 소비자 스스로 참여하게 한다. (애플의 앱스토어를 보라)
 소매환경에서 제공할 수 있는 방식은 소비자들이 제품을 직접 시험해 볼 수 있는 샘플 또는 공간을 스토어에 제공하는 것아다.
 이런 접근방식은 여러분이 더 많이 판매하도록 돕는 것은 아니지만, 제대로 구성만 된다면 소비자가 원하는 것이 무엇인지 여러분에게 알려줄 것이다.

 

 

 [[[[ 원문 ]]]]

 No one really likes to be sold to. Even the savviest salesman has to overcome people's resistance to the show-and-tell aspect of selling.

  Instead of persuading your customers to buy, try letting them sell to themselves.

  Don't just show them what is great about your products or services, let them experience and experiment.

  In a digital setting this may mean letting people participate in the creation of a new product or service (see Apple's App Store).

  In a retail setting, this could be providing samples or spaces in your stores where customers try out your products.

  Not only will this approach help you sell more, if used correctly, it will likely also teach you something about what your customers want.

Posted by 아주 오래된 미래

  요즘 환경에서 일자리를 얻는 것은 일종의 승리처럼 느껴질 수 있다. 하지만, 모든 일자리가 같은 상황은 아니기에 (특히 불경기에서) 일자리를 수락하기 전에 미리 준비를 해야하며, 여기 일자리를 수락하기 전에 올바르게 알아야할 3가지 팁을 제공한다.

   1. 그 회사의 재무상태를 미리 알것.
    - 앞으로 문제가 있을지 없을지 그 회사가 제시한 조건으로만 추정하지 말라.
    - 그 회사의 시장에서의 위치나 재무적인 안정성에 대해 가능한한 많은 정보를 수집하라.

  2. 당신의 성향에 맞는지 확인하라.
    - 물론 고용자가 이런 점을 확인하지만, 회사문화와 당신이 일하는 방식이 맞지 않는다면, 굉장히 고통스런 상황에 직면할 수 있다.

   3. 직무기술서에 의존하지 말라..
    - 당신의 역할에 의해 예상되는 점과 누구와 일하는지, 무엇을 할 것인지에 대해 구체적으로 물어보라.

 

 

 [[[[ 원문 ]]]]

 Getting a job offer in this environment can feel like a victory. But all job offers are not equal, and especially in the recession, it pays to do your homework before accepting. Here are three tips for doing the right research before you say yes:

  1. Know the company's financial situation. Don't assume that just because the company is making an offer, there isn't trouble ahead. Find out as much as you can about the company's financial stability and market position.
  2. Assess your cultural fit. Yes, the hiring manager should be doing this, but you are the one who will suffer most if there is a mismatch between the company culture and your working style.
  3. Don't rely on the job description. Ask specific questions about what you will be doing, who you will be working with, and what the expectations are for your role.

 

 

Posted by 아주 오래된 미래
04.IT Knowledge/단상들2009. 7. 7. 21:36
http://twitter.com/projecty
위의 링크를 보면 발표 현장에서 사람들의 감정이 어땠는지를 아주 잘 느낄 수 있다.

반신반의 하기는 했지만, 역시 라니....ㅡ.ㅡ;;;
티맥스의 설레발은 참...

아직도 리눅스에 wine이라는 생각을 접을 수 없다.
차라리 공개적이고 대대적으로 참여를 호소했더라면 더 좋았을 것 같다..
Posted by 아주 오래된 미래
해처리는 무슨 맛이 나려나...ㅎ


Posted by 아주 오래된 미래
04.IT Knowledge/Java2009. 7. 2. 22:38
 Java Swing Framework에서 제공하는 Component를 JavaFX에서 가져다 쓰기 위해서는 SwingComponent 클래스를 이용하여 Wrapping을 하는 것이 필요하다.
 이 글에서는 단순한 Swing Component가 아닌 JFreeChart의 Chart를 JavaFX위에 올려보겠다.

 1. NetBeans download
  - http://www.netbeans.org에서 NetBeans IDE를 다운로드 받아 설치한다. 여기에서 설치 방법은 설명하지 않겠다.
   개인적인 경험으로 JavaFX를 프로그래밍 한다면 Eclipse보다 NetBeans를 사용할 것을 권한다. (조금 더 편한듯..)

 2. JFreeChart download
  - 우선 JFreeChart를 http://www.jfree.org/jfreechart/download.html에서 다운로드 받는다.
  다운로드 받은 압축파일을 해제한 후 디렉토리 아래의 lib 폴더의 jar들을 이후에 프로젝트의 값을 설정할 때 클래스 패스로 잡아준다.

 3. Write Sample Swing Class
  - 여기서는 JFreeChart에서 demo로 제공하는 BarChartDemo1 클래스를 변형하여 사용할 것이다. 원래의 소스에서는 ApplicationFrame 클래스를 상속하여 예제가 구성되어 있으나 여기서는 JPanel을 상속하여 JavaFX에서 호출 가능하도록 할 것이다.

다음은 아래의 소스를 구현한 스크린 샷이다.




////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// BarChart.java
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package a.wrapper;

import java.awt.Color;
import java.awt.GradientPaint;

import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;

public class BarChart extends JPanel {

    private static String series1 = "First";
    private static String series2 = "Second";
    private static String series3 = "Third";

    private static String category1 = "Category 1";
    private static String category2 = "Category 2";
    private static String category3 = "Category 3";
    private static String category4 = "Category 4";
    private static String category5 = "Category 5";

    private static DefaultCategoryDataset dataset;

    public BarChart() {
        CategoryDataset datasetResult = createDataset();
        JFreeChart chart = createChart(datasetResult);
        ChartPanel panel = new ChartPanel(chart);
        this.add(panel);
    }

    public void changeDataset(double val) {
        dataset.setValue(1.0 + 2 * val, series1, category1);
        dataset.setValue(2.0 + 2 * val, series1, category2);
        dataset.setValue(3.0 + 2 * val, series1, category3);
        dataset.setValue(4.0 + 2 * val, series1, category4);
        dataset.setValue(5.0 + 2 * val, series1, category5);

        dataset.setValue(1.0 + 3 * val, series2, category1);
        dataset.setValue(2.0 + 3 * val, series2, category2);
        dataset.setValue(3.0 + 3 * val, series2, category3);
        dataset.setValue(4.0 + 3 * val, series2, category4);
        dataset.setValue(5.0 + 3 * val, series2, category5);

        dataset.setValue(1.0 + 4 * val, series3, category1);
        dataset.setValue(2.0 + 4 * val, series3, category2);
        dataset.setValue(3.0 + 4 * val, series3, category3);
        dataset.setValue(4.0 + 4 * val, series3, category4);
        dataset.setValue(5.0 + 4 * val, series3, category5);
    }

    private static CategoryDataset createDataset() {
        dataset = new DefaultCategoryDataset();
        dataset.addValue(1.0, series1, category1);
        dataset.addValue(4.0, series1, category2);
        dataset.addValue(3.0, series1, category3);
        dataset.addValue(5.0, series1, category4);
        dataset.addValue(5.0, series1, category5);

        dataset.addValue(5.0, series2, category1);
        dataset.addValue(7.0, series2, category2);
        dataset.addValue(6.0, series2, category3);
        dataset.addValue(8.0, series2, category4);
        dataset.addValue(4.0, series2, category5);

        dataset.addValue(4.0, series3, category1);
        dataset.addValue(3.0, series3, category2);
        dataset.addValue(2.0, series3, category3);
        dataset.addValue(3.0, series3, category4);
        dataset.addValue(6.0, series3, category5);
        return dataset;
    }

    private static JFreeChart createChart(CategoryDataset dataset) {

        JFreeChart chart = ChartFactory.createBarChart(
                "Bar Chart Demo",         // chart title
                "Category",               // domain axis label
                "Value",                  // range axis label
                dataset,                  // data
                PlotOrientation.VERTICAL, // orientation
                true,                     // include legend
                true,                     // tooltips?
                false                     // URLs?
                );

        chart.setBackgroundPaint(Color.white);
        CategoryPlot plot = (CategoryPlot) chart.getPlot();
        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        BarRenderer renderer = (BarRenderer) plot.getRenderer();
        renderer.setDrawBarOutline(false);

        GradientPaint gp0 = new GradientPaint(0.0f,0.0f,Color.blue,0.0f,0.0f,new Color(0, 0, 64));
        GradientPaint gp1 = new GradientPaint(0.0f,0.0f,Color.green,0.0f,0.0f,new Color(0, 64, 0));
        GradientPaint gp2 = new GradientPaint(0.0f,0.0f,Color.red,0.0f,0.0f,new Color(64, 0, 0));

        renderer.setSeriesPaint(0, gp0);
        renderer.setSeriesPaint(1, gp1);
        renderer.setSeriesPaint(2, gp2);

        CategoryAxis domainAxis = plot.getDomainAxis();
        domainAxis.setCategoryLabelPositions(
                         CategoryLabelPositions.createUpRotationLabelPositions(Math.PI / 6.0)
                                             );

        return chart;
    }
}

 4. Write Wrapper Class
  - JavaFX 실행파일에서 호출할 Wrapper 클래스를 정의한다.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// BarChartWrapper.fx
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package a.wrapper;

import javafx.ext.swing.SwingComponent;
import javax.swing.JPanel;
import java.awt.BorderLayout;

import org.jfree.data.category.CategoryDataset;

public class BarChartWrapper extends SwingComponent{

    var panel: JPanel;
    var centerPanel: JPanel;
    var northPanel: JPanel;

    var dataset: CategoryDataset;
    var chart: BarChart;

    public var top: SwingComponent on replace{
        northPanel.add( top.getJComponent(), BorderLayout.CENTER);
        panel.add(northPanel, BorderLayout.NORTH);
    }

    public var initValue: Double on replace{
        chart.changeDataset(initValue);
    }

    public override function createJComponent(){
        panel = new JPanel(new BorderLayout());
        centerPanel = new JPanel(new BorderLayout());
        northPanel = new JPanel(new BorderLayout());
        chart = new BarChart();
        centerPanel.add(chart, BorderLayout.CENTER);
        panel.add(centerPanel, BorderLayout.CENTER);
        return panel;
    }
}

 5. Write Main Class
  - JavaFX 실행파일을 작성한다.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Main.fx
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
package a.main;

import javafx.stage.Stage;
import javafx.scene.Scene;

import a.wrapper.BarChartWrapper;
import javafx.ext.swing.SwingButton;

var initVal = 1.0;

Stage {
    title: "JavaFX에서 JFreeChart를 사용해 보자.."
    scene: Scene {
        content: BarChartWrapper {
            width: 600
            height: 450
            initValue: bind {initVal}
            top: SwingButton{
                text: "차트 데이터 변경하기"
                action: function() {
                    initVal *= 2
                }
            }
        }
    }
}

// 누구든 언제든 궁금한 사항이 있으면 질문하시라..
// 당장 답글이 달리지는 않겠지만, 일주일 이내에 반드시 답글을 달아드리겠삼~~

Posted by 아주 오래된 미래
안녕 귀여운 내친구야
멀리 뱃고동이 울리면
네가 울어주렴 아무도 모르게
모두가 잠든 밤에 혼자서
 

안녕 내 작은 사랑아
멀리 별들이 빛나면
네가 얘기하렴 아무도 모르게
울면서 멀리멀리 갔다고
Posted by 아주 오래된 미래
신문기사에서 만능청약 통장이 자녀를 위한 선물이라는 기사가 나왔다.

자녀를 위한 선물이라니....
은행에서 강제 프로모션을 하여 행원들에게 강제 할당을 통한 거의 유치 전쟁에 가깝게 오버해 놓고...

이번 만능청약 건을 보면서 우리나라에서 왜 마케팅에 전략이 거의 없고, 왜 글로벌에서 통하지 않는지
확실히 알게 되었다.
상품이 나오면 영업사원에게 강제 할당해서 억지로 모집하는 방식...
이러니 마케팅 전략이 나와도 의사결정자들은 별로 신경을 쓰지 않을 수 밖에..
그냥 영업사원 쪼으면 되는데, 무슨 전략이 필요할까..
그런 상황에서 마케팅 효과를 분석하는것이 의미가 있을까?

이런 실정에서 살다가 해외에 진출한다 한들 쪼을 영업 사원도 없고, 쌓인 마케팅 노하우도 없는 상태에서
통할리가 없는 것은 당연하다..ㅋ

CRM/Marketing이란 것은 필요가 없는 것이 아니라 영업 지상주의 및 수직적인 조직 분위기에서 필요없다고
치부되는 것이다.

Posted by 아주 오래된 미래
1. 마음
 - 마음을 들고 출근을 하면 거의 대부분의 날들에서 마음을 다치곤 한다.
  그냥 집에 놓고 와야 긍정적으로 보이는 모양을 연출하는 것이 가능하고,
  나 자신도 퇴근 후 집에 가면 놓고온 마음을 다시 가슴 속에 넣고, 온전한
  마음으로 나의 생활을 하게 된다.

2. 영혼
 - 함부로 몸에 영혼을 넣어서 왔다가 예기치 않은 일로 행여 상처라도 난다면
  수습이 그리 쉽지가 않다.
   집에 잘 놓고 왔다가 심야의 시간에 다시 몸에 넣어서 조용한 밤을 즐기는
  것이 좋은 것 같다.

3. 열정
  - 의외로 열정이 통하지 않는 상황은 빈번하게 발생하며, 그럴 때마다 조금씩
  깎여 나가는 열정을 다시 회복하려면 의외로 시간이 걸리게 마련이다.
   회사 생활에서 즉흥적으로 열정을 발휘해야 하는 상황을 맞딱드리더라도
  그 순간은 일단 숙고하는 모양새를 유지하며 일단 참고, 집에 와서 일단 몸에
  마음부터 집어 넣고, 그 마음안에 열정을 넣은 후 마음 속의 열정에게 물어본
  후 그 열정에게 물어보자. 그리고 그 이후에 마음속의 열정이 강렬하게 원한다면
  행동으로 옮기면 된다.

Posted by 아주 오래된 미래
04.IT Knowledge2009. 5. 26. 16:57
1. 주석
  -> 주석에 각종 로직을 Sudo-code 형태로 먼저 구현하는 습관을 들인다.
2. data type, 연산자
  -> Data type을 선언하는 방법을 익힌다.
       :: 이 때 중점적으로 볼 것은 String, integer, double, date 형을 보며, Array를 선언하는 방법이다.
  -> 연산자에 대해 익힌다.
3. loop, if, else
  -> Loop 제어(for, while, do) 및 if/else if/else 처리는 로직을 구현하는데 거의 대부분을 차지한다.
4. function (나아가 class, module)
  -> function을 선언하고 호출하는 방법을 익힌다.
  -> 외부에 작성된 소스를 include하는 방법을 익힌다.
5. file(Read and Write)
  -> 외부 파일에 저장 및 읽는 방법을 익힌다.
  -> 가능하다면 OS 명령어를 호출하는 방법도 익힌다.
6. DB처리
  -> DB에 접속하여 INSERT/UPDATE/DELETE/SELECT하는 방법을 익힌다.
7. Network
  -> TCP/IP, Telnet, FTP 처리 방법을 익힌다.
8.Thread
  -> 병렬/분산처리를 위한 방법을 익힌다.
9. Event
  -> 특정 event를 발생시키는 방법과 event 발생을 인지하는 방법을 익힌다.

Posted by 아주 오래된 미래