카테고리 보관물: Monologue

서버 프로그래밍 공부에 대한 생각

어떤 분께서 클라이언트신데 서버를 어떻게 배워야 할지 모르겠다고 쓰신 글을 보고 작성해 봅니다.C++ 윈도우 서버를 처음부터 만든다면 다음과 같은 내용을 공부해야 할것으로 생각됩니다.지극히 주관적인 생각이니까 참고만 부탁드려요.

1. 준비학습
1-1. win socket (tcp/udp)
1-2. iocp
1-3. overlapped io
1-4. 멀티스레드
1-5. 메모리/오브젝트 풀
1-6. 3,5를 활용한 브로드캐스팅
1-0. 별도로 간단히 SQL의 사용법
이 밖에도 TCP의 전송 및 혼잡제어 부분은 udp를 만들때 응용되기도 하고, 전송 중 예외처리를 위해 중요하다고 생각합니다.보통 이쯤 될때까지 혼자 만들다보면 어쩐지 udp를 슬슬 버리게 됩니다. 이핑계 저핑계 대면서요 ㅎ중국에서 udp를 쓰면 다 털린다던가…암호화 알고리즘에 대해 나와야 할것같은데? 라고 생각하시는 분도 계시겠지만 공부하며 혼자 하다보면 저것도 벅차요 ㅋ디비는 살짝 논외로 쳤는데 결국은 필요해집니다. 레디스라거나 하는걸 추가로 학습하면 좋을듯!

공부가 끝난 뒤 개발해야 할 내용은
2. 모듈 개발
2-1. 로깅시스템
2-2. 메모리/오브젝트 풀
2-3. 스레드 풀 (TLS랑 전역적인거 둘 다 되는걸로)
2-4. iocp 모듈 (프로엑터 패턴. tcp, udp)
2-5. 패킷 프로세싱 (전송 및 혼잡제어)
2-6. 테스트로 사용할 서버/클라
2-7. 우아한 접속/종료 및 예외처리
2-8. 스트레스 테스트 툴
이렇게 만들어보면 조금 감이 올 것이고 그 다음에 해야 할 일은 모듈화 해서 라이브러리로 만드는 것이겠죠.그런데 라이브러리화가 끝나면 ‘자 이제 시작이야~(내꿈을) 내꿈을 위한여행~(피카츄)’ 가 시작됩니다.바로 서버 구조란 무엇인가… 에 대해 고민해야 할 차례거든요.

3. 서버 구조 설계
3-1. 한대의 서버가 클라이언트들을 받아들이는 가장 단순한 구조 (유저가 많아지면 서버를 나눔)
3-2. 서버가 많아짐에 따라 접속/인증만 처리하는 로비서버 + 여러대의 게임서버 구조
3-3. 인증을 만들다보면 필요한 페킷 암호화 및 인증키 처리 (여기서 이걸 우겨넣다가 라이브러리를 재설계 하는 일도;;)
3-4. 그런데 요즘 유저들은 서버 자체가 나뉘면 싫어하지 않을까요? 체널링에 대한 고민
3-5. 체널링에 따른 인증 이동기능
3-6. 서버간 통신 및 브로드캐스팅 (ex 메이플의 메가폰. 운영자공지 등)
뭐 이정도 공부하고 이정도 만들면 되지 않을까… 그렇게 생각하고 있습니다.그런데 과연… 자신이 서버 프로그래머로 취직할게 아니거나, 컨텐츠 서버 프로그래머로 취직하려고 해도 이런 내용들이 전부 필요할까요? 저는 그것에 대해서는 상당히 회의적입니다. 간단히 클라이언트만 봐도 요즘 DirectX12 배우시는 학생분들 있으신가요? 여기서 만약 부스트 asio가 등장한다고 해도 대분류 1번 준비학습 정도만 생략되는 수준입니다.뿐만 아니라 아무리 asio나 부스트가 좋다고 해도 사실 1번에서 누군가 이끌어주지 않으면 많은 시행착오를 겪게됩니다.어떻게 만들어야 쓰기 편하고 표준적인지 알기 어렵기 때문이죠.DirectX 처음 배울때 3D MAX 파싱해서 물체 띄우는 수준으로 게임엔진을 만들 수 없는것과 같습니다.

4. 권장 사항이때 제가 권할 수 있는 방법은 일단 오픈소스나 상용엔진을 학습해보는 것입니다.여기서 서버엔진이란 무엇이며, 어떻게 쓰는것이 표준적이고 효율적인 설계인지를 엿볼 수 있습니다.그 뒤에 자신이 무엇을 하고싶은지 고민해보세요.컨텐츠를 만드시고 싶다면 서버엔진을 배우시고 잘 활용하는 쪽으로 학습하시는걸 추천합니다.그러나 나는 ‘서버 엔진 프로그래머가 되겠어!’라고 결심하셨다면 위의 것들을 하나씩 정복해 나가시면 될 것 같습니다 ㅎ

5. 핵심?프로그래머로 일하는데 있어서 서버를 지향하시는 분들께서는 이정도면 되지 않을까.. 그렇게 생각합니다.라우터라던가 L4스위치 등 하드웨어에 대한 지식이 풍부하면 도움은 되겠지만 프로그래밍 이외의 범위임으로 일단 생략…우리 마음대로 만들겠다! 라며 상용 엔진을 사용하지 않는 회사들도 재야의 고수들이 기본기 있고 범용적인 라이브러리드ㄹ을 자체적으로 개발해서 사용하고 있기 때문에 무료/상용 엔진으로 기본기와 구조를 익혀도 좋습니다.넷트워크에서 중요한 신뢰성등은 사실 지식도 필요하지만 많은 노하우가 중요한 만큼 상용엔진을쓰는것이 안정적이고 편안하고 안락한 퇴근을 보장하죠… ㅇ<-<세롭게 공부하면서 개발해 보는것도 중요하지만 상용 엔진을 권하는 이유는 이밖에도 많습니다.요즘 트렌드는 엔진을 처음부터 개발하기 보다는 그간 만들어진 바퀴들도 얼마나 멋진것을 만들어내느냐에 있으니까요!

두서없고 주관적인 글 읽어주셔서 감사합니다. 위에 살짝 요약해뒀고요. 질문이나 부드러운 의견은 언제나 환영합니다!

Pixel Perfect sprites in Unity

유니티 4.3에서, 유니티에서 제공하는 2D 툴로 작업을 한적이 있다면 다음과 같은 현상을 보았을 것이다.

위 그림은 1024×768 크기의 물결 스프라이트를 씬에 올려 놓은 경우다. 하지만 왼쪽 상단에 위치한 게임 해상도는 1024×768임에도 불구하고 게임화면과 물결 스프라이트이미지가 딱 맞지 않는 현상이 발생한다.
이를 해결하기 위해서는 Camera 옵션중 orthographic의 Size를 변경해주면 된다.
Camera Size는 다음과 같이 계산하면 된다 : Camera Size = (GameTargetHeight / 2) / PixelsToUnitys
Pixels To Unity은 Default로 100으로 되어있다.
위와 같은 경우는, 게임 해상도가 1024×768이기 때문에, CameraSize는 3.84가 될 것이다 :(768 / 2) / 100 = 3.84

Camera Size를 수정하면 다음과 같이 물결 스프라이트가 게임화면에 딱 들어맞게 된다.

C# Extensions Method

C# 3.0부터 추가된 기능이다. 이 기능을 사용하게 되면 기존 형식을 확장, 수정하지 않고도 메소드를 추가할 수 있다. Microsoft .NET 문서 에선 확장메서드를 호출하나 Extensions Method 나 차이가 없다고 서술하고 있다.

확장명 메서드를 호출하는 것과 형식에 실제로 정의된 메서드를 호출하는 데는 명백한 차이가 없습니다.

사용용도

이 기능은 어느 클래스에나 사용할 수 있기 때문에 특정한 범위에서 사용하는 것이 좋다. 일반적으로 봉인된(sealed) 클래스에 필요한 기능을 추가할 수 없을 때가 가장 적합한 사용용도 인 거 같다.

사용방법

사용방법은 생각보다 간단하다. String 클래스를 예로 들어보겠다.

namespace ExtensionMethods
{
    public static class MyExtensions
    {
        public static int WordCount(this String str)
        {
            return str.Split(new char[] { ' ', '.', '?' }, 
                             StringSplitOptions.RemoveEmptyEntries).Length;
        }
    }   
}

Extensions Method의 생성 조건이 몇 가지 있다.

  • 클래스는 static으로 선언해준다. ( 자동으로 함수도 static )
  • 매개변수의 첫 번째는 this와 해당 메소드가 들어갈 타입을 적어준다.

예제에 맞게 적고 string 변수를 확인해보면 WorldCount 라는 함수가 보일 것이다.

기타 설명

더 자세한건 Microsoft .NET 문서 를 참고하길 바란다.


Unity + Extensions Method

이 기능을 유니티에 가져와 적용해본다면 기존에 불필요하게 했던 작업을 함수 하나로 보기 좋게 정리할 수 있게 된다.

기존에 유니티 기능으로만 사용했을 때 불편한 작업이 있었다.

  • transform.position의 x값만 바꾸고 싶을 때
  • Sprite의 Color중 Alpha 값만 바꾸고 싶을 때
  • 배열에서 랜덤을 뽑고 싶을 때 ( 물론 이건 C#이지만..ㅋ )

등등 상황에 따라 더 있겠지만 저런 상황에 Extensions Method 기능을 사용하면 매우 편리하다.

첫 번째 경우를 가지고 설명하자면 Unity의 Transform 클래스에 Extensions Method를 추가하면 좀 더 코드가 깔끔해지고 보기 편해진다.

TransformExtensions.cs

using UnityEngine;

public static class TransformExtensions
{
    public static void SetPositionX(this Transform transform, float x)
    {
        var newPosition = new Vector3(x, transform.position.y, transform.position.z);
        transform.position = newPosition;
    }
}

Test.cs

using UnityEngine;

public class Test : MonoBehaviour
{
    private void Start()
    {
        // 이전의 X값 변경 방법
        transform.position = Vector3.zero;
        Debug.Log("[Basic] Prev: " + transform.position);
        transform.position = new Vector3(20, transform.position.y, transform.position.z);
        Debug.Log("[Basic] Curr: " + transform.position);

        // Extensions Method
        transform.position = Vector3.zero;
        Debug.Log("[Extensions] Prev: " + transform.position);
        transform.SetPositionX(20);
        Debug.Log("[Extensions] Curr: " + transform.position);
    }
}

마무리

Extensions Method는 클래스의 수정이 불가능한 부분들에 의한 반복적인 일들을 줄여줄 수 있는 좋은 기능인 것 같다. 유니티로 개발을 하면서 어쩔 수 없이 반복적이고 불필요한 코드들이 늘어난다면 이 기능을 이용해 리팩토링하는 것도 좋을 것 같다.

2017 올해 목표

개같이 공부하자

  1.  기초 개념 공부 – os, network, algrithm – Basic concept, compiler
  2. unity – 3월
  3. machine learning  – 5월(http://www.moreagile.net/2015/05/how-to-start-machine-learning-study.html) 참고
  4. liner algebra
  5. eng – voca 2개 ..   책읽기. 괴델 에셔 바흐
  6. china – 강의 듣기, 읽기수준만..

운동

  1. 수영 2km 체력 키우기
  2. advanced openwater

성격

  1. 3초 생각

중요한 미팅 이후 메일 보내는 요령

누군가와 중요한 미팅을 하고 난 다음에는 이런 식으로 후속조치를 해 보길 권합니다.

메일을 쓰십시오. 그 메일엔 이런 내용을 담으시길.

1) 오늘 만나서 반가웠다는 인사말

 

2) 오늘 논의되었던 내용에 대한 정리(제가 이해한 바로는 아래와 같습니다. 한번 정리해봤는데, 혹시 틀린 부분이 있으면 이사님께서 지적해 주시기 바랍니다)

 

3) 대화 도중 상대방이 슬쩍 언급했던 개인적인 부분에 대한 코멘트(이사님께서 등산에 관심이 많다고 하셨는데, 국내 등산 정보에 관해서 아주 잘 정리가 된 블로그를 발견했습니다. 참고가 되셨으면 합니다)

저도 다양한 미팅을 하는데, 미팅 후 상대방이 이와 같은 내용의 이메일을 보내오면

‘음, 아주 프로페셔널한데…’

‘아주 detail하군’

‘인간적인 면도 있구 말야.’

라는 3가지 느낌을 동시에 받습니다.

미팅 그 자체보다 그 후속 단계가 중요합니다.

좋은 관계를 형성하는 데는 그만한 노력이 필요한 법입니다.

● 이메일 예시

김관호 부장님, 오늘 뵈었던 조우성 변호사입니다. 

오늘 시간 내 주셔서 전체적인 상황 파악에 많은 도움이 되었습니다. 

 

오늘 나누었던 대화를 잠시 정리해 보았습니다. 

 

1) 귀사는 저희 법무법인이 제안한 컨설팅 프로젝트에 원칙적으로 관심은 있다.

2) 하지만 귀사의 구체적인 협업 여부에 대해서는 내부적으로 좀 더 많은 논의가 진행되어야 한다.

3) 따라서 다음 주 목, 금요일 정도에 만나서 추가적인 논의를 하길 바라며, 그 전에 소개자료를 좀 더 보내주길 바란다. 

 

혹시 제가 잘못 이해했거나 빠진 부분이 있으면 지적해 주시길 바랍니다.

모쪼록 김부장님과 이 프로젝트를 같이 할 수 있는 기회가 주어지기를 진심으로 바라는 마음입니다.

 

또 연락 올리겠습니다.

 

조우성 변호사 올림

 

p.s. 아까 대화 중에 부장님께서 요즘 ‘협상력’에 관심이 많다고 하시던 말씀이 기억납니다. 사실 제가 블로그를 하나 운영하고 있는데, 그곳에 협상 컬럼을 정리해 놓았습니다. 링크를 걸어 드릴테니 한번 보시죠. 

https://brunch.co.kr/magazine/nego

 

나에게 축제 같았던 사람.

이토록 많이 받아서 영영 받기만 하면서 사는 사람으로 굳어져 버리게 될까 두렵고 어려웠던 사람.

그렇게나마 내 허술한 빈 곳을 가릴 수 있으니 나에게 축제 같았던 사람.

                                               “바람이 분다 당신이 좋다” 중에서

 

가치관의 차이 사랑하는 사람과 가치관이 똑같을 필요는 없습니다.
그것은 남녀뿐만 아니라 동성끼리도 마찬가지입니다. 좋아하는 사람과 더 가까워지고 싶은데, 서로 다른 가치관 때문에 주저하는 것을 흔히 볼 수 있습니다. 그러나 가치관이 똑같아서 친해진 사람은 반드시 가치관의 차이로 헤어지게 됩니다. 이 세상에 가치관이 똑같은 사람은 한 사람도 없습니다. 가치관이 다르다는 사실을 처음부터 알고 있으면, 서로 다른 생각을 가지고 있다고 해도 싸움이 일어나지 않습니다. 오히려 서로 일치하는 부분이 많으면 많을수록 작은 차이를 용서할 수 없게 되는 것입니다. 사람이 가장 친밀해지는 경우는, 모든 생각이 전혀 다른 가운데 딱 한 가지 생각이 서로 통할 때입니다. 가치관의 차이를 즐기게 된다면, 이 세상 모든 사람이 당신의 친구가 되지 않을까요?

니카타니 아키히로의 내 영혼의 비타민 中에서

아픈데는 없냐고 당신이 물었다

 

 

아픈데는 없냐고 당신이 물었다
없다, 라고 말하는 순간
말과 말 사이의 삶들이 아프기 시작했다
물소리가 사무치게 끼어들었다

 

 

-눈 사람 여관, 이병률

 

 

 

 

 

 

 

 

 

 

 

 

 

 

세월이 이따금 나에게 묻는다
사랑은 그 후 어떻게 되었느냐고
물안개처럼
몇겹의 인연이란 것도
아주 쉽게 부서지더라

 

 

– 물안개, 류시화

 

 

 

 

 

 

 

 

 

 

 

 

 


나무 뒤에 숨는 것과 안개속에 숨는 것은 다르다.
나무 뒤에선
인기척과 함께 곧 들키고 말지만
안개 속에서는
가까이 있으나 그 가까움은 안개에 가려지고
멀리 있어도 그 거리는 안개에 채워진다.

 

산다는 것은 그러한 것
때로 우리는 서로 가까이 있음을 견디지 못하고
때로는 멀어져 감을 두려워 한다
안개 속에 숨는 것은 다르다.
나무 뒤에선 누구나 고독하고,
그 고독을 들킬까 굳이 염려하지만
안개 속에서는
삶에서 혼자인 것도 여럿인 것도 없다

 

그러나 안개는 언제까지나 우리 곁에 머무를 수 없는 것
시간이 가면
안개는 걷히고 우리는 나무들처럼
적당한 간격으로 서서
서로를 바라본다.

산다는 것은 결국 그러한 것
어디서 와서 어디로 가는지도 모르게
시작도 끝도 알지 못하면서
안개 뒤에 나타났다가 다시 안개 뒤에 숨는 것

 

나무 뒤에 숨는 것과 안개 속에 숨는 것은 다르다

 

 

-안개속에 숨다, 류시화

 

 

 

 

 

 

 

 

 

 

 

 

 

 
왠지 아무에게도 보여주고 싶지 않은
그런 저마다의 애잔하고 누추한 기억의 서랍 하나쯤은
누구나 가슴속에 간직하고 살아가는 법이다

막상 열어보면 으레 하찮고 대수롭잖은
잡동사니들만 잔뜩 들어있는 것이지만
그 서랍의 주인에겐 하나같이
소중하고 애틋한 세월의 흔적들이다

이 세상에서 누군가를 진정으로 사랑한다는 것은
어쩌면 그 사람의 서랍속 먼지 낀 시간의 흔적들과
꿈, 사랑, 추억의 잡동사니들까지를 함께 소중해하고
또 이해해주는 일이 아닐까.

추억이란 누구에게나 소중한 것이고
그러므로 그걸 지녔다는 사실 자체만으로도
모든 인간은 누구나 소중하고 아름다울 수 있으리라 나는 믿는다
-아름다운 기억의 서랍, 임철우

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

사랑은 표현하지 않으면 환상이고
슬퍼도 울수없는 고통이며
만남이 없는 그리움은 외로움 일뿐

표현되지 못한 감정은 아쉬운 아픔이 되고
행동이 없는 생각은 허무한 망상이 된다
숨쉬지 않는 사람을 어찌 살았다하며
불지 않는 바람을 어찌 바람이라 하겠는가

사람이 숨을쉬고 바람이 부는 것처럼
살아있는 날엔 사랑을 하자
마음껏 울고 또 웃자

 

 

-살아있는 날엔. 정유찬

 

 

 

 

 

 

 

 

 

 

 

 

 

문을 열자 더운 기운이 훅 끼쳤다
나는 밖에서 “참 따뜻하네요” 했고 동시에
여자는 안에서 “상쾌한 공기가 들어오네요” 했다.

사랑은 늘 그랬다
완전히 다른말이면서도 같은동행

만나야 할 이유도
헤어져야 할 이유도
늘 함께하는
동시였다
내가 너를 향하고 있는 내내

 

 

-사랑은, 오철수

 

 

 

 

 

 

 

 

 

 

 

 

 

슬픔이 그대를 부를 때
고개를 돌리고 쳐다보라

세상의 어떤것에도 의지 할 수 없을 때
그 슬픔에 기대라

저편 언덕 처럼
슬픔이 그대를 손짓 할 때
그 곳으로 돌아가라

세상의 어떤 의미에도 기댈수 없을 때
저편 언덕으로 가라
그대 자신에게 기대라

슬픔을 의지 하되
다만 슬픔의 소유가 되지 말라

 

 

-저편 언덕, 류시화

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

살아간다는 것은
저물어 간다는 것이다
슬프게도 사랑은
자주 흔들린다
어떤 인연은 노래가 되고
어떤 인연은 상처가 된다
하루에 한번씩 바다는
저물고
노래도 상처도
무채색으로 흐리게 지워진다
나는 시린 무릎 감싸안으며
나지막히
그대 이름을 부른다

살아간다는 것은
오늘도
내가 혼자임을 아는 것이다

 

 

-저무는 바다를 머리맡에 걸어두고, 이외수

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


인간에게는 자신만의 폐허가 있기마련이다
나는 그 인간의 폐허야말로 그 인간의 정체성이라고 본다
아무도 자신의 폐허에 타자가 다녀가길 원치않는다
이따금 예외가 있으니 사랑하는 자만이
상대방의 폐허를 들여다 볼 뿐이다

그 폐허를 엿본 대가는 얼마나 큰가.

무턱대고 함께있어야하거나 보호자가 되어야 하거나
때로는 치유해줘야 하거나 함께 죽어야한다
나의 폐허를 본 타자가 달아나면 그 자리에 깊은 상처가 남는다
사랑이라는 것은 그런것이다 어느 한 순간에 하나가 되었던
그 일치감의 대가로 상처가 남는것이다
-신경숙, 아름다운 그늘

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

너를 보내고 나는 오랫동안 아무 말도 하지 못했다.
찻잔은 아직도 따스했으나 슬픔과 절망의 입자는
내 가슴을 날카롭게 파고들었다.
어리석었던 삶의 편린들이여, 언제나 나는 뒤늦게 사랑을 느꼈고
언제나 나는 보내고 나서 후회했다.
그대가 걸어갔던 길에서 나는 눈을 떼지 못했고
아무 생각도 하지 않고 그저 바라보기만 했는데
툭 내 앞을 가로막는 것은 눈물이었다. 한 줄기 눈물이었다.

가슴은 차가운데 눈물은 왜 이리 뜨거운가.
찻잔은 식은지 이미 오래였지만 내 사랑은 지금부터 시작이다.
내 슬픔, 내 그리움은 이제부터 데워지리라.

그대는 가고, 나는 갈 수 없는 그 길을
나 얼마나 오랫동안 바라보아야 할까. 안개가 피어올랐다.
기어이 그대를 따라가고야 말 내 슬픈 영혼의 입자들이.
-너를 보내고, 이정하

 

 

 

 

 

 

 

 

 

 

 

 

 

 


낮은 곳에 있고 싶었다
낮은 곳이라면 지상의
그 어디라도 좋다

찰랑찰랑 물처럼 고여들 네 사랑을
온몸으로 받아들일 수 있다면
한 방울도 헛되이 새어 나가지 않게 할 수 있다면

그래, 내가 낮은 곳에 있겠다는 건
너를 위해 나를 온전히 비우겠다는 뜻이다
나의 존재마저 너에게 흠뻑주고싶다는 뜻이다

잠겨 죽어도 좋으니 너는
물처럼 내게 밀려와라

 

 

-낮은 곳으로, 이정하

 

 

 

 

 

 

 

 

 

 

 

 

 

 

풀잎에도 상처가 있다. 꽃잎에도 상처가 있다.
너와 함께 걸었던 들길을 걸으면
들길에 앉아 저녁놀을 바라보면
상처 많은 풀잎들이 손을 흔든다.
상처 많은 꽃잎들이 가장 향기롭다.

 

 

– 풀잎에도 상처가 있다, 정호승

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

가장 최근의 일기를 펼쳐보니 이거야 말로 생생한
그를 향한 끝없이 애잔한 마음이 구구절절이 적혀있었다.

만일 이것도 그가 읽었다면 그야말로 암담한 일이 아닐 수 없다.

그에 대한 내 마음의 변천을 아무리 설명해도 다른 사람이 알 리 만무하고

결국 이런 것을 봐버린 봐서는 안 될 것을 봐버린 사람이 나쁘다.

나는 싱크대의 스테인리스 위에서 갈기갈기 찢긴 일기장을 태웠다

창문도 열어놓고 환기장치도 돌렸지만 연기는 실내까지 가득 찼다.

그래도 종이는 허무할 정도로 너무 쉽게타버렸다.
과거란 과거란 이 얼마나 쉽게 사라져버리는 것인가?

인간이 자칫 잘못된 병에 걸리면 금방 죽는 것처럼 아름다운 시집도 곤란한 일기장도

허무하게 금방 연기로 사라지고 마는 것이다.
다만 그 안에 담긴 정념의 기억은 어디로도 도망가지 않고
태워지지도 않고 소실도 되지 않는다.

눈에 보이지 않는 중량감으로 묵직하게 인생의 짐처럼 매달려 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


가을이 지나고 겨울이 오는 일 서러울 것도 없지
폭풍이 제 갈 길을 가는 것처럼 그대도 그러한 것 뿐
꿈을 꾸고 깨어나는 일 그리울 것도 없지
잘못된 시간 잘못된 장소에 내가 있었던 건
그대의 탓도 아니지만

우리가 함께 갈 수도 있었던 먼 나라
우리가 붙잡을 수도 있었던 기적
달콤하고 쓰디 쓴 허상 불빛처럼 흐르다 지친 눈물
우리를 삼켰다 급히 뱉어버린 열정 위에
나는 수천 번 그대의 이름을 쓰고
지운다 지우고 또 쓴다.

 

 

– 황경신

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


사소한게 바로 생활이고 그걸 모은게 인생이야
아무것도 아닌 것들이 모여 인생의 물줄기를 이루게 된다고
사소하게 생각한 잘못들 때문에
남에게 상처를 주고
마침내 그것이 자신에게 돌아오는거야

 

 

– 배려, 한상복

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


관계는 외로움 앞에서 만큼은 항상 냉정했다.
혼자여도 외롭지 않다면 관계는 시작되지 않았으며
둘이어도 외롭다면 관계는 끝이 났다.
우리는 누군가와 함께하고 싶었던 것이 아니라 누군가에게
우리의 외로움을 나누어 주고 싶었던 것인지도 모른다.
– 찰칵찰칵 잊지마힘든오늘은멋진추억이될거야 , 송창민

 

 

 

 

 

 

 

 

 

 

 

 

 


소유는 만족을 위함이 아니다
소유는 의무의 시작이다
내가 뭔가를 가졌다는 것은 내게 어떤 의무가 주어졌다는 신호다
많은 것을 가질수록 나는 많은 의무로부터 괴로움을 겪어야 한다

 

 

– 청춘독설, 쇼펜하우어

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

사람은 삶의 준말이다
사람의 분자와 분모를 약분하면 삶이 된다
우리의 삶은 사람과의관계로 이루어져 있다
가장 아픈 상처도 사람이 남기고 가며
가장 큰 기쁨도 사람으로 부터 온다

 

 

 

 

 

 

 

 

 

 

 

 

 

 


그날 채플시간에 또 한 학생이 손을 들었다. 학생은 나의 이십대 시절에 비추어

지금 이십대들에게 가장 해주고 싶은 말이 무엇이냐고 물었다

나는 학생들 사이에 앉아 있는 유선의 눈을 스쳐 지나 질문한 학생을 바라보았다

수줍음을 타는지 질문하는 학생의 목소리가 떨렸다. 나도 모르게,

함께 있을 때면 매순간 오.늘.을.잊.지.말.자,
고 말하고 싶은 사람을 갖기를 바랍니다,

라는 말이 흘러나왔다. 학생들은 와아, 하고 웃었다. 나도 따라 웃었다

그리고 ‥ 내 말이 끝난 줄 알았다가 다시 이어지자 학생들이 다시 귀를 기울였다

여러분은 언제든 내.가.그.쪽.으.로.갈.게,
하는 사람이 되었으면 해요.
– 어디선가 나를 찾는 전화벨 소리가 울리고, 신경숙

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


계절은 아름답게 돌아오고
재미있고 즐거운 날들은 조금 슬프게 지나간다

 

 

– 호텔선인장, 에쿠니 가오리

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

깊이
앓으십시오
앓음답도록
아름답도록

 

 

-너 외롭구나, 김형태