• Programming by 白影를 방문하신 여러분을 환영합니다 :)

월요일과 화요일이 출장인 관계로...

하루 먼저 전주로 내려가서 다음날을 맞이하기로 하고

일요일 아침에 짐을 챙겨서 부랴부랴 출발하였다.

2014-08-31 01.17.54

계획도 안 세우고 한옥마을이 있다던데…?

숙소도 어디서 잘지 결정도 안하고 말이죠.

일단 버스를 타고 오면서 게스트하우스를 알아보면서 올라왔죠.

혼자였기때문에 도미토리 형식으로 알아보다보니 과거 기자 경력을 가지신 사장님이 계신 곳이 있더라구요. “니어리스트”로

전화를 냅다해보니 자리가 있다고 하셔서 예약을 하고 전주까지 버스에서 열심히 자면서 내려왔네요

2014-08-31 03.37.22

입실시간 전에 가도 짐을 맡아주신다해서 바로 게스트하우스로 이동~

시내버스를 타고 얼마 안가더라구요

도착해서 짐을 일단 놓고…? 삼백집으로 콩나물해장국을 먹으러가는 지난밤 숙박 멤버에게 붙들려 갔습니다…

삼백집 사진은 먹느라 정신없어서 없네요…

다 먹고는 근처 샤빙이라는 빙수집에 가서 간단히 빙수를 먹고 다시 게스트하우스로 복귀~

2014-08-31 05.09.45

간단하게 게스트하우스 내부를 살펴보고 짐을 맡기고 밖으로 나섰네요.

어차피 많은 관광이 목적이 아니였기에 간단히 한옥마을 정도 다녀오는걸로 출발.

가는길에 사람이 바글바글한 풍년제과 본점도 봤구요…

일단 가는길에 전동성당부터 들려봤네요.

미사시간도 아니였고해서 간단히 주변만 둘러보고 나왔는데요.

한옥마을 근처에 같이 있어서 유명한건지 사람들이 꽤 많이 있더라구요.

2014-08-31 06.57.10 2014-08-31 06.57.55 2014-08-31 06.58.34

자~ 이제 한옥마을의 먹거리를 먹어보기로 하죠~

혼자 온거라 많이는 못 먹고 조금만 먹어보겠습니다~

2014-08-31 07.09.16 2014-08-31 07.18.28 2014-08-31 07.20.22 2014-08-31 07.07.45   2014-08-31 07.59.102014-08-31 07.58.27

 귀여운(?) 멍멍이도 있네요~

2014-08-31 07.31.01 2014-08-31 07.31.25

이제 게스트하우스로 돌아와서~ 잠시 노트북을 펴놓고 조금 쉬고 있었죠.

몇달간 스탭으로 일하는 외국인 스탭도 자리잡고 있었고...

2014-08-31 10.20.22 2014-08-31 10.20.34 2014-08-31 06.39.14 2014-08-31 06.42.47

"니어리스트"는 방이 4개인데요 전부 2층침대 2개씩 4인실이구요. 각 방마다 화장실을 하나씩 쓸수 있게 반대편에 화장실이 똑같이 4개가 있네요. 그리고 밖에도 하나 더 있구요. 시설이 깔끔하고 좋아서 다음에 또 전주에 오게되면 이곳에 묵고 싶네요.

이렇게 자리잡고 있다가 막걸리 먹으러 가자는 이야기에 4명이 모이기를 잠시 기다렸다가 옛촌막걸리로 출발~

한동이가 약 3병 분량이라고 하는데 처음에 안주가 3개 그다음 동이에도 3개 3번째 시킬때부터는 2개씩 나온다고 하네요.

2014-08-31 11.01.13 2014-08-31 11.02.07 2014-08-31 11.03.54 2014-08-31 11.23.41

한동이가 2만원에 안주가 3가지나 저렇게 듬뿍듬뿍 담겨서 나오니... 막걸리에 취하기전에 안주에 배가 불러서 죽을거 같더라구요... 저희는 결국 2동이에 안주없이 술만 한동이 더 시켜서 먹고 나왔네요.

아... 미리 전화도 해보시고 예약도 할수 있으면 하시고 가는게 좋습니다.

다행히 일요일이라 줄도 거의 없어서 저희 일행은 금방 들어갔네요.

다 먹고나서 간단히 전일슈퍼에 들려서 황태를 사들고 들어가서 맥주 한잔하기로 하고 전일슈퍼로 고고~

2014-08-31 13.10.27황태와 맥주를 가볍게 사들고 게스트하우스에서 마무리를 짓고 하루를 끝냈네요.

다음엔 1박2일을 전부다 구경할 수 있는 날 다시 놀러오고 싶네요.

 

'Life Style > Location' 카테고리의 다른 글

가네끼스시  (0) 2014.09.13

[Game] www.codecombat.com

Idea/Web 白影 2014. 1. 15. 08:57


www.CodeCombat.com


참신한 아이디어의 게임을 발견했다.

게임을 하면서 코딩 문법에 익숙해지는 상황을 만들어준다.

자세한 리뷰나 후기는 플레이 후에 적도록 하겠다.

[ArtistFTP C# 제작기 02]  파일을 다루기 위한 클래스 선언

일단 기본적으로 탐색기 UI로 만들기 때문에

파일아이콘등등 여러가지를 위해서 먼저 클래스를 선언했습니다.


    class FileTypeInfo
    {     
    }


위와 같이 'FileTypeInfo' 라는 이름으로 클래스를 선언 하였으며,

먼저 파일 형식을 구분할 간단한 열거형을 하나 선언했습니다.


    class FileTypeInfo
    {    
        public enum FileTypes
        {
            상위로=0,
            폴더,
            파일,
            실행파일,
            동영상파일,
            음악파일,
            이미지파일,
            텍스트파일,
            CD이미지파일,
            PDF파일,
            EXCEL파일,
            파워포인트파일,
            압축파일,
            한글문서파일,
            꿀뷰파일,
            Epub파일
        } 
    }


선언한 열거형이 제대로 작동하는지 확인하기 위해 다른 클래스에서 해당 열거형을 호출해 보았습니다.


이런식으로 잘나오는군요.


다음으로 제가 해준것은 파일의 사이즈를 KB 형식으로 변환해주는 메서드입니다.

윈도우 탐색기를 보면 전부 기본 사이즈가 KB로 변환되서 나오더군요.

아까 만든 public enum types {} 바로 밑에다가 만들었습니다.


        /// <summary>       
        /// 파일 크기를 KB단위로 변환한다.
        /// </summary>
        /// <param name="bytes">변환할 파일 크기
        /// 변환된 파일 크기
        public static string formatSize(long bytes)
        {
            double size = bytes;
            string formattedSize = "1 KB"; 
            // 1KB 이하의 파일들은 모두 1KB 로 표시한다.

            if (size > 1024) // 1024byte, 즉 1KB 가 넘는다면
            {
                size /= 1024; // 1024로 나누어 준다음
                formattedSize = size.ToString("n0") + " KB";
            }

            return formattedSize;
        }

주석이 달려있으므로 크게 어렵진 않으리라 믿습니다.


자 다음으로, 파일이름에서 확장자를 추출하는 메서드를 작성하도록 하겠습니다.

사실 파일이름에서 확장자를 추출하는 간단한 메서드가 이미

System.IO; 네임스페이스에 이미 존재합니다.

하지만 개인적으로 예외처리등등을 위해 일부러 따로 메서드를 만들었습니다.


        /// <summary>
        /// 파일이름에서 확장자를 추출한다.
        /// </summary>
        /// <param name="fileName">파일이름</param>
        /// <returns>파일의 확장자</returns> 
        public static string fileExt(string fileName)
        {
            return System.IO.Path.GetExtension(fileName);
        }

사실 System.IO.FileInfo 클래스를 이용해서 변수 선언후, GetExtension() 메서드를 사용하려고 하였는데,

'실제로 파일이 존재하지 않을경우' 예외가 발생하였습니다.

예외처리를 하는것보단, 그냥 경로만 가지고 확장자를 분석해야할 경우도 있을것 같아서,

저렇게 사용하였습니다.


마지막으로 파일이름을 이용해서, 확장자를 얻고, 그 확장자로 파일종류를 구분하는 메서드를 만들도록 하겠습니다.

        
        /// <summary>
        /// 파일 이름에서 파일 타입을 얻는다.
        /// </summary>
        /// <param name="fileName">파일 이름</param>
        /// <returns>파일 종류</returns>
        public static int FileType(string fileName)
        {
            string tempExt = fileExt(fileName);            
            int Type = 0;
            
            switch (tempExt.ToLower())
            {
                case ".exe":
                case ".com":
                case ".msi":
                    Type = (int)FileTypes.실행파일;
                    break;
                case ".avi":
                case ".wmv":
                case ".mpeg":
                case ".mpg":
                case ".mov":
                case ".mkv":
                case ".flv":
                case ".mp4":
                    Type = (int)FileTypes.동영상파일;
                    break;
                case ".wav":
                case ".mp3":
                case ".ogg":
                case ".aif":
                    Type = (int)FileTypes.음악파일;
                    break;
                case ".jpg":
                case ".bmp":
                case ".png":
                case ".gif":
                case ".jpeg":
                case ".ico":
                    Type = (int)FileTypes.이미지파일;
                    break;
                case ".txt":
                case ".doc":
                case ".docx":
                    Type = (int)FileTypes.텍스트파일;
                    break;
                case ".gho":
                case ".dmg":
                case ".iso":
                    Type = (int)FileTypes.CD이미지파일;
                    break;
                case ".pdf":
                    Type = (int)FileTypes.PDF파일;
                    break;
                case ".xls":
                case ".xlsx":
                    Type = (int)FileTypes.EXCEL파일;
                    break;
                case ".ppt":
                case ".pptx":
                    Type = (int)FileTypes.파워포인트파일;
                    break;
                case ".zip":
                case ".rar":
                case ".7z":
                case ".egg":
                    Type = (int)FileTypes.압축파일;
                    break;
                case ".hwp":
                    Type = (int)FileTypes.한글문서파일;
                    break;
                case ".hv3":
                    Type = (int)FileTypes.꿀뷰파일;
                    break;
                case ".epub":
                    Type = (int)FileTypes.Epub파일;
                    break;
                default:
                    Type = (int)FileTypes.파일;
                    break;
            }

            return Type;
        }

이정도로 일단 FileTypeInfo 클래스를 작성하고,

다음 포스팅은 프로그램 기본 환경 클래스를 작성해보도록 하겠습니다.

'Programming > C#' 카테고리의 다른 글

[ArtistFTP C# 제작기 01] 프로그램 구상 및 밑작업  (0) 2014.01.12