아래 개선형 DB 긁기 (C# 2.0)
처리속도도 빠르고 역시 모든 SQL형태에 대응 할수 있다.
컨넥션 얻어 오는 것은 아래 글 참조

using System.IO;
using System.Data.Sql;
using System.Data;
using System.Data.OracleClient;
using Oracle.DataAccess;

----------------------------------
OracleCommand cmd = new OracleCommand(sql, DbConn.GetConn());

            OracleDataReader rd;

            Find = null;//길 찾기 배열 초기화

            cmd.Parameters.AddWithValue(":SID", startbstop);
            cmd.Parameters.AddWithValue(":EID", endbstop);

            cmd.Connection.Open();

            rd = cmd.ExecuteReader();
            Find = GetOraDatas(rd);
--------------------------------------------------

//오라클 데이터 받아오기
        public static string[][] GetOraDatas(OracleDataReader rd)
        {
            string[][] datas = null;

            try
            {
                if (rd.HasRows)//데이터 테이블의 크기가 0보다 크다면
                {
                    int dt_cols_count = rd.FieldCount;

                    int k = 0;
                    ArrayList temparr = new ArrayList();
                    while(rd.Read())
                    {
                        for (int j = 0; j < dt_cols_count; j++)
                        {
                            temparr.Add(Convert.ToString(rd[j]));//데이터를 생성한 배열에 저장
                        }
                        k++;
                    }

                    bisdatas = new string[temparr.Count/dt_cols_count][];//행만큼의 2차원 배열 생성
                    for (int i = 0; i < temparr.Count / dt_cols_count; i++)
                    {
                        bisdatas[i] = new string[dt_cols_count];//해당 행만큼 세부 1차원 배열 생성
                        for (int j = 0; j < dt_cols_count; j++)
                        {
                            datas[i][j] = (string)temparr[(i * dt_cols_count) + j];
                        }
                    }
                }
                else
                {
                    bisdatas = null;//0보다 작다면 null값 설정
                }
            }
            catch (Exception ex)
            {
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt"))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);//오류 발생시 sql에러로 저장
                }
            }
            finally
            {
               
            }

            return datas;//해당 sql문의 쿼리 결과를 2차원 문자열 배열로 전송
        }

by Tomoya 2009.04.13 17:56

내가 DB 쿼리문 던질 때 쓰는 방법..

장점 : C# OleDB를 이용해 모든 SQL 쿼리문에 대응한다.
쉽게 말해 쿼리문만 작성해서 string [][] datas = DataReader.GetData(sql);식으로 받아오면
어떤 쿼리문이든 결과값을 문자열 배열형태로 변화해서 가져올 수있다.
코드량을 상당히 줄일수 있으며 정형화 시켜 한 번 받아 오는게 정상적으로 받아 왔다면 다른 쿼리문에도 쉽게 적용 가능하다.

단점 : "select a from b where c = ?" c :값 형식으로 보낼때와 달리 DB부하가 많이 간다.
DB를 자주 긁는 입장이라면 주의 필요하다.(쉽게 이야기하면 DB 쿼리문 파싱이 안된다는 것이다.)

C# 2.0 (VS2005)

DAO - 접속을 관리한다.

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Data.Sql;
using System.Data;
using System.IO;

    public class Dao
    {
        //연결설정 문자열 설정
        private static string connstr = "Provider=MSDAORA;Data Source=DB adress;Password=패스워드;User ID=아이디";

        //오라클 데이터 어댑터 객체 생성
        private static OleDbDataAdapter da;

        //데이터를 받을 데이터 셋 객체
        private static DataSet ds;

        //데이터를 받을 데이터 테이블 객체
        private static DataTable dt;

        public Dao()//생성시 기본값을 널로 설정
        {
            da = null;
            ds = null;
            dt = null;
        }

        public static void OleConn(string sql)//OLE DB 연결
        {
            try
            {
                da = new OleDbDataAdapter(sql, connstr);//db연결해서 데이터 어댑터를 설정하고
               

                ds = new DataSet();//데이터 셋을 생성하여

                da.Fill(ds, "테이블");//연결한 어댑터를 이용해 데이터 셋을 설정하고

                dt = ds.Tables["테이블"];//데이터 테이블에 데이터셋의 정보를 넣음
            }
            catch (Exception ex)
            {
                //FileInfo fi = new FileInfo("C:\\LOG"); - 웹 일경우 보안 정책 위반 가능성 있으므로
                //if (!fi.Exists) fi.Create();
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt", true))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);//dql관련 문제가 생겼다면 파일로 오류메시지 저장
                }
            }
        }

        public static void OleDisConn()//연결 해제
        {
            try
            {
                if (dt != null)
                {
                    dt.Dispose();
                    dt = null;
                }
                if (ds != null)
                {
                    ds.Dispose();
                    ds = null;
                }

                if (da != null)
                {
                    da.Dispose();
                    da = null;
                }
            }
            catch (Exception ex)
            {
                //FileInfo fi = new FileInfo("C:\\LOG");
                //if (!fi.Exists) fi.Create();
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt"))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);
                }
            }
        }

        public static DataTable Get_DataTable(string sql) //데이터 테이블 통째로 들고 오고 싶을 때
        {
            OleConn(sql);//연결하고 그 테이블을 반환

            return dt;
        }

        public static int ExecuteQuery(string sql)
        {
            int rows = 0;
            OleDbConnection conn = null;
            OleDbCommand odc = null;
            try
            {
                conn = new OleDbConnection(connstr);
                conn.Open();

                odc = new OleDbCommand(sql, conn);

                rows = odc.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
                //FileInfo fi = new FileInfo("C:\\LOG");
                //if (!fi.Exists) fi.Create();
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt", true))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);//dql관련 문제가 생겼다면 파일로 오류메시지 저장
                }
            }
            finally
            {
                if (odc != null) odc.Dispose();
                if (conn != null) conn.Close();
            }

            return rows;
        }
    }

using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data.Odbc;
using System.Data.Sql;
using System.Data;
using System.Data.Common;
using System.IO;


    //DB에 접근해 데이터를 읽을 클래스
    public class DataReader
    {
        //private static Dao dao;//DB 연결자
        private static DataTable dt;//쿼리문에 대한 가상 테이블(뷰)

        //생성자
        public DataReader()
        {
            //dao = new Dao();
        }

        //데이터 양을 알수 없거나 많을 경우
        public static string[][] GetDatas(string sql)
        {
            string[][] datas = null;

            try
            {
                dt = Dao.Get_DataTable(sql);//데이터 테이블을 얻어옴

                int dt_rows_count = dt.Rows.Count;//데이터 테이블의 행 수 얻기
                int dt_cols_count = dt.Columns.Count;//데이터 테이블의 칼럼 수 얻기

                if (dt_rows_count > 0)//데이터 테이블의 크기가 0보다 크다면
                {
                    datas = new string[dt_rows_count][];//행만큼의 2차원 배열 생성
                    for (int i = 0; i < dt_rows_count; i++)
                    {
                        datas[i] = new string[dt_cols_count];//해당 행만큼 세부 1차원 배열 생성
                    }

                    for (int i = 0; i < dt_rows_count; i++)
                    {
                        for (int j = 0; j < dt_cols_count; j++)
                        {
                            datas[i][j] = Convert.ToString(dt.Rows[i][j]);//데이터를 생성한 배열에 저장
                        }
                    }
                }
                else
                {
                    datas = null;//0보다 작다면 null값 설정
                }
            }
            catch (Exception ex)
            {
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt"))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);//오류 발생시 sql에러로 저장
                }
            }
            finally
            {
                dt.Dispose();//데이터 테이블 해제
            }

            return datas;//해당 sql문의 쿼리 결과를 2차원 문자열 배열로 전송
        }

        //1행만 받아오는 경우
        public static string[] GetOneDatas(string sql)
        {
            string[] datas = null;

            try
            {
                dt = Dao.Get_DataTable(sql);//데이터 테이블을 받아와서

                int dt_rows_count = dt.Rows.Count;//행수 받아옴
                int dt_cols_count = dt.Columns.Count;//칼럼수 받아옴

                if (dt_rows_count == 1)//행이 1개일때
                {
                    datas = new string[dt_cols_count];//배열 생성

                    for (int j = 0; j < dt_cols_count; j++)
                    {
                        datas[j] = Convert.ToString(dt.Rows[0][j]);//데이터 저장
                    }
                }
                else//1행이 아닐때
                {
                    datas = null;//널값으로 설정
                }
            }
            catch (Exception ex)
            {
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt"))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);//에러 메시지 저장
                }
            }
            finally
            {
                dt.Dispose();//데이터 테이블 해제
            }
            return datas;//쿼리 결과 반환
        }

        //1개의 데이터만 받는 경우
        public static string GetData(string sql)
        {
            string datas = null;

            try
            {
                dt = Dao.Get_DataTable(sql);//쿼리 실행

                int dt_rows_count = dt.Rows.Count;//행수 반환
                int dt_cols_count = dt.Columns.Count;//칼럼수 반환

                if (dt_rows_count == 1 && dt_cols_count == 1)//칼럼1 행 1이면
                {
                    datas = Convert.ToString(dt.Rows[0][0]);//데이터를 문자열로 저장
                }
                else
                {
                    datas = null;//아니라면 널값 설정
                }
            }
            catch (Exception ex)
            {
                using (StreamWriter sw = new StreamWriter("./sqlerror.txt"))
                {
                    //string message = "can not read file";
                    sw.WriteLine(ex.Message);
                }
            }
            finally
            {
                dt.Dispose();
            }
            return datas;//결과 반환
        }

    }

p.s Java버전은 다음에 하려 했지만..보는 사람 없는 듯..요청 없으면 그냥 패스..

by Tomoya 2009.03.09 18:05

이미지 링크할때 사용할수 있는 사이트

http://tinypic.com
http://www.imageflux.net
http://pic.leech.it

출처 : http://hacked.tistory.com/

'공부 > 개인 스크랩' 카테고리의 다른 글

win7,win2008 패스워드 초기화  (0) 2012.01.25
오른쪽 마우스 클릭 금지 해제  (0) 2010.09.17
난생 처음 쓴 포트폴리오..  (0) 2010.06.28
이미지 링크  (0) 2009.02.02
경제 강의 3종셋  (0) 2008.10.25
웹 사이트 최적화  (0) 2008.10.24
by Tomoya 2009.02.02 14:41

전에 봤던 현정부의 환율 방어 문제를 이야기 했던 최진기 선생의 강의들..
시간이 없다면 맨위의 환율방어 문제만이라도 보시길..

최진기 - 현 정부의 환율 방어 무엇이 문제인가
http://tvpot.daum.net/v/10940925

한미 FTA 강좌 (메가스터디 최진기 선생)
http://tvpot.daum.net/v/9182965

서브프라임 모기지론 강좌 (메가스터디-최진기 선생)
http://tvpot.daum.net/v/9183091

메가스터디 최진기 선생님의 알기쉬운 경제 강의
개인 사이트 : http://www.cjsatam.co.kr/

'공부 > 개인 스크랩' 카테고리의 다른 글

win7,win2008 패스워드 초기화  (0) 2012.01.25
오른쪽 마우스 클릭 금지 해제  (0) 2010.09.17
난생 처음 쓴 포트폴리오..  (0) 2010.06.28
이미지 링크  (0) 2009.02.02
경제 강의 3종셋  (0) 2008.10.25
웹 사이트 최적화  (0) 2008.10.24
by Tomoya 2008.10.25 21:03
http://2.0business.kr/wiki/wiki.php/WebSiteTuning

http://2.0business.kr/

'공부 > 개인 스크랩' 카테고리의 다른 글

win7,win2008 패스워드 초기화  (0) 2012.01.25
오른쪽 마우스 클릭 금지 해제  (0) 2010.09.17
난생 처음 쓴 포트폴리오..  (0) 2010.06.28
이미지 링크  (0) 2009.02.02
경제 강의 3종셋  (0) 2008.10.25
웹 사이트 최적화  (0) 2008.10.24
by Tomoya 2008.10.24 17:59
 작년(2007년) 1학기에 작성한 웹 메일 시스템
내부 DB 내에서만 메일이 동작하므로 사내용인 상태
(단,파일/메일내용 접근은 외부에서도 가능)

'공부 > 프로젝트' 카테고리의 다른 글

사내 웹 메일 시스템  (0) 2008.07.03
웹 서비스 발표 자료  (0) 2008.06.20
by Tomoya 2008.07.03 23:19

- 웹 서비스의 영역 : 공공, 서비스, 산업/금융, 교육, 연구 분야
- 발표 내용 : 개요, 도입후 이점, 서비스환경, 개발환경, 시연(가능한 사람만)

에 대해 조사한 자료..나는 구글(GOOGLE)의 웹 서비스에 대해 조사 하였다.
결과물은 이거..


구글이 서비스 프로바이더가 되는 SOA형태이다.
PPT파일 내부의 WSDL페이지 링크를 이용해 SOAP가 가능하다.

'공부 > 프로젝트' 카테고리의 다른 글

사내 웹 메일 시스템  (0) 2008.07.03
웹 서비스 발표 자료  (0) 2008.06.20
by Tomoya 2008.06.20 18:52

전 그저 하루하루 버티듯 살아가는 내과 레지던트 입니다...
 
평소... 늘 주님께 제가 있어야 할 곳에 있게 해주세요..
라고 기도했지만... 막상 촛불집회는 지방이고... 병원에 매어있는 몸이라 ...
참석하지 못했습니다.
 
금요일 밤... 스트레스받고.. 자꾸 ... 마음이 어지러워서 심야영화라고 보려고
시내에 내려갔다가... 신부님과 수녀님들께서... 십자가를 들고 거리 집회를 하시는 것을
보았습니다.
 
부끄러워서 숨게 되더군요. 행여 아는 사람 만나면 너는 뭘하고 있니... 라고 할까봐 ...
 
31일 토요일 부끄럽지 않으려고... 나중에 엄마가되면 내 아이의 ... 수많은 꿈을 가진 눈망을 바라보며 우리나라 역사를 가르치면서... 이 자랑스러운 날 엄마가 시민들과 함께 하며
다치고 찢긴 이들을 돌보았단다... 라고...하고 싶어서.... 서울 행을 결정하였습니다..
 
인터넷으로 알게된... 한의사 선생님 3분과 출발... 7시경 청계광장에 도착했습니다...
 
정말 수많은 이들이 모여있고... 그들과 함께 이렇게 시대를 고민하고 있다는 것이
기쁘더군요....
 
다른 의료진들과 만나서 저는 선한 웃음이 귀여운 ^^ 치과 선생님과 선하고 정말
친구하고픈... 간호사 선생님들 그리고 헌신적인 팀장님과 다른 팀원들과 한팀을
이루었습니다. 의료7팀
 
맨 뒷조라서... 시위대들이 거리행진을 하는 끝에 남아있다가 청와대 방면으로 가던
시위대가... 많이 부상을 당했다는 소식에... 저희는 서둘러 출발했습니다...
 
그런데 길 중간에 닭장차가 막고 있고 앞에는 예비군분들이... 스크럽을 짜면서 경찰로부터 시민들을 보호하고 있고 그뒤로는 경찰들이 대치하고 있었습니다. 가운과 청진기 펜라이트를
보여드리며 저희는 그냥 의사와 간호사들인데 지나가게 해달라고 통사정을 했습니다....
 
상부로 보고를 하더니 대답이... 정말 ... 걸작입니다...
"똑같은 놈들이니까 들여보내지말라"고 하셨답니다....
 
정말 ... 온갖 전쟁에서도 의료진만은 인도적인 차원에서 허용했던...
그 상식이 ...내 나라 내 땅에서 1980년대도 아니고 2008년에 ...서울 한복판에서
이렇게 깨져나가더군요... 우선 기가 막히고 놀라웠습니다...
 
아... 이사람들은 정말... 시민들 다치고.. 심지어 죽는 것 정도로는 눈하나 까딱
안하는 사람이구나.... 그러니까... 그렇게 당당하게 미국산 소고기 수입을 하겠다 하는구나...
 
기껏해야 몇명 죽어나갈뿐인데 왜 저렇게 흥분을 하는지...
이 사람들은 죽을 때까지도  모를수 있겠구나... 하는 생각이 들더군요....
 
길을 돌고 돌아 온갖... 어려움 다겪으며... 간신히 간신히 삼청동에서
전경들과 대치중인 시위대를 찾았습니다...
 
우리는 뒷편의 박진 국회의원 사무실 앞에 터를 잡고 진료실이라고 하긴 뭐하지만
다친 사람들을 돌볼 공간을 확보했습니다....
 
몇명 대학생이 닭장차 위로 올라갔습니다... 전 순간 땀이 나더군요,,,
"아이고 저 애기가 떨어지면 어찌까..."
순간 ... 제 머리속에는 낙상시 발생하는 온갖... 상황이 다 스쳐지나가더군요.
 
뇌출혈, 장기 파열,사지 골절... 등등등...
 
솔직히 말하면 ... 그냥 내려와 위험하니까... 하고 손을 이끌고 제 동생같은 이를 데리고
오고 싶은 마음이었습니다...
 
 
자정이 넘어서도 시위는 계속되고... 점점 피곤하고 눈꺼풀이 무거워질 무렵...
갑자기 경찰이 소화기와 물폭탄을 발사했습니다....
 
 물폭탄이다...!!! 하기에 저는 어 물좀 뿌리나 보네... 사람들 힘들겠네...
정도만 (^^;;;) 생각을 했었는데 저는 정말 너무 순진했습니다...
 
그건... 한명이나 또는 몇명을 조준해서 대량의 물을 발사하는 것이었고...
여학생들은 ... 맞으면 실신 혹은 과호흡을 호소하며 ... 쓰러졌습니다....
그 앳된 얼굴들이  창백하게 변하고 입술이 새파래져서 숨도 제대로 못쉬고
저에게 실려오는데... 전 제 손을 떨리게 하는것이 분노인지... 놀라서인지...
구분이 잘 안가더군요... 여학생들을 돌보고 119에 실려 보낼때쯤하면...
남자아이들이 실려오더군요.. 맨처음 물폭탄을 맞고는 충격은 견디는데.... 이후...
젖은옷과 새벽이 주는 냉기에 저체온증이 되어서 탈진상태로 뒤로 계속 계속 실려오더군요..
 
참... 세상 어려운거 잘 모르고 자랐을 이 고운 아이들이 그 고운 청춘들이 ....
참... 잘못된거 한번 고쳐보겠자고... 이 새벽에...추위에 떨고... 물벼락 맞고
내 앞에 창백하게 실려와 누웠는데... 정말 붙잡고
울고 싶더군요....
 
더 제가 놀랐던건... 제가 위험해 ... 내려와.. 라고 외치고 싶었던 닭장차
위로 올라간 아이들을 겨냥해서 물폭탄을 쏘더군요...
사람들 말로는 떨어뜨리려고 그런거라는데.. 아니... 그 높이에서 애들이
아스팔트 아래로 떨어지면 어떻게 되라고...
가슴을 졸이면서 그들을 보고 있으니... 아니나 다를까
한명이 쭉하고 아래로 낙상을 했습니다...
 
전 순간 이성을 잃고 말았습니다...
그렇게도 진료실을 떠나지 말라고 ... 그렇게도 혼났건만...
이성을 잃고 시위대를 헤치면서 앞으로 앞으로... 달려갔습니다.
 
그렇지만.. 저보다 더 앞에 계시던 분들이 먼저 손을 써서...
아이를 옮겼더군요.......
 
시민들이 ...전경들에 닭장차 뒤로 던진 소화기를 맞고... 귀가 찢어져서... 119태워보냈습니다....
 물폭탄 제대로 귀에 맞고 고막이 터져서 또 119에 실려서 보냈습니다....
눈에 정통으로 맞고.... 눈이 보이지 않는다고 호소하는
고등학생 그 이쁜 아이도... 119에 실어서 보냈습니다...
(아침에 이야기를 들어보니...실명했다고 하더군요... 사실을 확인할 수 없어서... 발만 동동 굴렀습니다...제발 사실이 아니길... 간절히 기도합니다.... 내려오는 차안에서  그 아이때문에
눈물이 나더군요)
얼굴이 다 부어버려서 눈도 못뜨는 여자아이... 119에 실어서 보냈습니다...
 
대학생들이 부르는 " 이명박은 물러가라 울라울라~~~"
노래 ... 정말 분노에 차 부르면
어떻게 되는 지 어떤 소리가 나는지 ... 목터져라 불러보고 싶었지만...
꾹 참았습니다..... 중립에 서야하는 의료인이기에...
 
전경이던 시민이던 다치면 똑같은 마음으로 똑같이 치료해야하는
그러기로 약속했고... 그래야만 하는 ... 헌신적인 진료가 사명인 의료인이기에....
꾹 참고.... 참았습니다...
 
정말 많은 시민들이 우리 의료진들에게 수건과 물 음료수 먹을 거리 담요
헌옷등을 보내주셨습니다... 우리는 그걸로 저체온증으로 떨면서 오는 이들을 덮여주고
먹이고 마른옷으로 갈아입혔습니다....
따뜻한 보온병에 물을 담아오신분들... 컵라면을 사오신분들 앞에서 버너에 물끓이며
시민들을 먹이시던 아주머니... 모두 모두 정말 업드려 감사드립니다....
우리가 함께 임을 뼈저리게 느겼습니다...
그리고 우리는 민주주의를 누를만한 ..... 자격이 있는 국민들입니다....
 
새벽 6시 그렇게 그렇게 근근히 버티고 있었는데...
경복궁에서 몰려오던 시민들과 위에서 치고 내려오는 전경들에게 몰려서...
진압이 되던 ... 그 지옥같던 순간에... 의료팀들과 시민들은 스크럽을 짜서...
 누워있는 환자들을 보호하고.... 저는 누워있는 환자들 대신맞기라도 하려고
환자를 담뇨로 덮고 그위로 엎드렸습니다....
 
그 지옥같던 순간이 지나고... 시위대는 해산되고 그 자리엔 전경들이 들어와서
차지했는데...그 초토화된... 곳에서... 몇몇 사람들이 ... "의료진!!!" 하고 찾아서..
"전경들이!!! "라고 하기에 ... 아이고 전경들도 다쳤나보다... 하고 달려갔습니다...
 
이 친구들이 어디가 얼마나 다쳤길래...
하고 갔는데... 왠 여자아이가 피투성이가 되어서 누웠더군요..
자세히 살펴보니 전경의 방패에 맞았다는데... 두피가 찢겨서 피가 정말... 흥건하더군요...
두피는 원래 혈행이 좋아서 ... 상처를 받으면 출혈이 많은 곳중하나입니다.
갖은 것이 없어서... elastic bandage를 풀어서 압박지혈을 하면서...
눈이 풀려버린 ... 아이를 가슴에 안았습니다....
가슴을 가득채우는 연민과 슬픔에... .....
가슴이 터질것만 같더군요...
나는 중립중립중립 수차례 되뇌였지만... 인도에 가지런히 포진한
전경들을 원망스럽게 바라보는 내 눈을 나도 어찌 못하겠더군요...
119에 아이를 태우고 돌아오는 길에... 어찌나... 세상이 다 원망스럽던지요...
 
아이가 넘어졌는데... 왜 또 방패로 찍고 발로 차고 때립니까...
그 아이를 보호하겠자고 스크럽을 짠 사람들을 왜 또 때립니까...
도대체 ... 왜 불필요한 폭력을 사용합니까?...
정말 ... 왜 그럽니까.... 나는 ... 당신들이 보기엔 좀 얼빵하고...
마음이 약한 사람이라서 그런지... 정말 그 이유를 모르겠습니다....
 
아침 회진을 돌아야하기에 ... 새벽 6시경 ... 의료7팀과 작별을 하고
전주행 버스에 몸을 실었습니다....
 
몸은 정말 물에 젖은 스폰지 같았지만... 그아이는 실명은 않했을까..
맥이 약하던 그아이는 회복이 되었을까... 피투성이 여자아이는 ...
뇌출혈은 아이었을까... 괜찮을런지... 온갖 걱정에...
잠이 쉬이 오지 않더군요...
 
전경들이 물병던지고 최루탄을 쏘고 물폭탄을 쏘면 순간 격해지는 분위기를
누그러뜨리며 "평화시위 평화시위 비폭력 비폭력"을 외치던 자랑스런
당신들때문에 잠이 쉬지 오지 않았습니다....
 
당신들이 자랑스럽습니다......

뉴스 보도 :
http://kr.news.yahoo.com/service/news/shellview.htm?articleid=20080601230525131e4&linkid=4&newssetid=1352&from=rank

by Tomoya 2008.06.01 22:45


 생각을 해 보시려면 동영상을 보고 난뒤에 드래그 하세요.

당신은 비인간적인 행위를 상대방에게 강요할 수 있겠습니까?

침팬지 보다도 못한 인간..

예일대 설문 조사 결과 92%가 못 한다고 응답..

그러나 실제로 40명중 65%가 진행..35%가 '복종'의 실험에 거부..

침팬지 조차 15일동안 본능적인 먹이 버튼에 거부를 취했는데..
인간은 단돈 4.5달러에 비인간적행위를 강요...

과연 나는 65%에 속하는 사람일까 35%에 속하는 사람일까..

나에게 비인간적인 행위를 하는 전경들을 비난할 자격이 있을까..
생각 해보게 한다..
by Tomoya 2008.06.01 22:30
 부산의 촛불집회사진..
전국적으로 촛불집회는 이어지고 있다.
밑에 대구도 마찬가지지만 부산도 한나라당의 주 표몰이 지역..
하지만 촛불집회에서 지역감정이란 없다.
 대한민국이란 나라를 걱정하는 마음은 어디에 살건 한 가지..
정부와 한나라당이 제발 국민의 소리에 귀를 기울여 따라줬으면 한다.
 그 것이 바로 민주주의 일지니..

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
by Tomoya 2008.05.31 17:04
| 1 2 3 4 5 6 7 ··· 9 |