퇴근5분전

 두번째 이야기.... 

첫번째로 객체.할수있는일( 필요한 것들... ) : 결과 형태로 수백가지 정도 써본다면 

처음엔 잘 안떠오르는데... 하다보면 막 보이는데로 쓰게 되고, 그러다보면 이게 뭔짓인가 싶을때가 있었다.

그때 그만하면 된다. 

 

 표현하는 객체들이 할수 있는 일과 그 일에 필요한 것들을 적어본다면 객체와 객체간의 관계에 대하여 고민을 할때가 된거다. 뉴스 만화 영화 등을 보면서 장면 장면 기억에 남는거라든가? 스크린샷등으로 이미지를 남겨놓고 그 상황을 코딩해보면 좋다. 이때 의사코드(Pseudo)를 사용해본다. 

 이런 코드도 한 일주일 정도 투자해서 이거 저거 상황을 코드화 해보면 코딩할 준비가 된거라 생각한다. 

 

 우리처럼 비전공 개발자들이 초반에 코드에만 빠져 있다보면 객체들을 서로 관계지어 설계하는 과정을 체득하지 못하기에 미리 이런식으로 객체를 정의하고 객체간의 관계등을 미리 글쓰듯이 해보는 것이 중요하다 생각된다. 

 실제 작성하는 코드들이 그렇게 어려운 코드들이 없다. 대부분이 이미 만들어진 객체들을 활용하며 순서를 정해 호출하고 

또 객체가 할 일에 필요한 자원들을 빠짐없이 전달해주는 역할을 개발자가 해주는 것이다. 

 우리는 3인칭 시점에서 내려다보면서 이야기를 써내려가면 된다. 이야기를 써내려가면서 흐름에 따라 등장하는 객체들이 있을 것이며 그 객체들이 어떤 라이브러리에 있는지 찾아서 끼워 맞춰주는 역할을 하면 된다. 시작은 그렇게 하면 된다고 본다. 좀더 관심있고, 좋은 업체들로 이직을 하려면 일 외에도 따로 전공자들보다는 더 많은 노력을 기울여 공부해야 한다.

 

 다음에 시간이 되면 현재 개발중인 내용을 설계과정등을 시간순서대로 나열해보려한다. 

 

 유튜브을 보다보면 개발자를 목표로 하는 사람들에 대한 이야기들이 참 많다. 

언어별로 각종 강의자료들... 몇몇 자료들을 봤지만, 언어 소개 이후 론 대부분 코딩을 제일 먼저 시작한다.

 

 개발자를 시작하려면 가장 먼저 일주일 정도 시간을 내서 객체지향에 대한 이해가 먼저 선행되었으면 한다.

 SI일을 다니다가 신입 직원들을 봤을때... 코딩도 그럭저럭 하지만...

 전공자들은 학교 다니면서 동기, 선배, 교수들과 함께 투자한 시간만큼 코딩이 가능하다.

비전공인 분들을 각자의 센스? 또는 국비에서 강사들의 복불복에 코딩이 변죽을 부린다. 

나도 처음 개고생한거 생각하면, 그만큼 절실했으니까. C++ 책만 7번씩 볼 수 있지 않았을까? 

 

비전공자가 개발자를 하기전에 반드시 이거 하나는 해보고 공부를 시작했으면 한다.

 

프로그램 코딩 대부분 기본 구조는 아래와 같다.

 주어.동사( 동사의 목적에 필요한 데이타 목록,... ) : 결과 

주어는 객체이고, 동사는 객체로 할수 있는 일, 

그리고 객체가 하는 일에 필요한 데이타 또는 관련 객체들로 채워준다. 

개체가 한 일에 대한 결과가 나오는 것이 있고, 없는 것도 있다 ( void )

 

  우리 프로그래머들은 순차적으로 할 일들을 정의하고 순서대로 일을 할수 있는 문서를 작성하는 것이다.

 int a = 10; 이런게 중요한게 아니고... 

  하나의 프로그래밍을 완성하기위해 필요한 주요 객체들과 그 객체들이 할 수 있는 일(동사)들이 떠올라야 한다고 생각한다.  그림이나 사진, 또는 자기 경험등... 눈앞에 보이는 모두를 객체.일() 로 정의할 수 있으면 좋겠다. 

 

1. 자기 자신부터 동사를 붙여본다

    나.잔다( 시간 )

    나.일어난다()

    나.이동한다( 목적지 )

2. 이런 형태로 객체를 100여가지 정도는 정의해보자. 

3. 100여가지 중에 공통적인 것들을 분류해보자. ( 나중에 상속과 다형성 공부할때 좋은 자료가 된다 )

 

 17년 정도 프로그래밍을 했지만, 기본 적인 비지니스 업무흐름이라는게 회사마다 제각각이라 기획 같은게 어렵지 

코딩 자체가 어려운건 없다. 가끔 고수준의 크리티컬한 쓰레드 자원 관리나 게임프로그래밍 처럼 수학이 절실한거 아니면..  그냥 라이브러리를 얼마나 아는가? 또는 필요한 객체들의 어떤 행위들을 추측이 가능한가? 정도이다. 

진짜 어려운 프로그래밍은 전공자들 중 top class가 할꺼다. 

 그리고 이제 AI 시대가 왔다. 개발자들을 대체하기엔 시간이 좀 필요하겠지만... 발전 속도를 보면... 

깔려있는걸 한번에 뒤집는건 불가능해도 새로 만드는 것들에 대해서는 점점 가능해지지 않을까? 

 그러면 이제 개발이란건 기획! 이란게 진짜 필요할 지도 모르겠다. 

 

 

 

오늘 PLC 모니터링 기능을 추가하면서 웹 테스트를 하는데... 

이상한 현상이???

 

.razor 안에서 ... 

@code{
	MonitoringInfo info = null;
}


@foreach( var brd in bridges ) {
    info = Service.GetMonitoringInfo( brd );
	
    <div ... >
    	<button @onclick=( e => EditDangerConfirm( info.ID, info.DangerValue) ) >
    </div>
    
}

 

이런 식으로 썼는데 bridges를 순회하면서 html코드를 생성하고 

@onclick 이벤트에 연결 했는데... 

 

화면에서 테스트를 해보니... 무조건 마지막에 연결되었던 객체 정보로 뜬다. 

원인 ::

@onclick이 발생하는 때에는 데이타가 계속 덮어씌여져서 가장 마지막 요소를 가지고 오픈하니까 ... 엉뚱한게 보여진다. 

구글링을 해보니... 저렇게 쓰면 안된단다.. 생각해보니.. 그게 맞는 것도 같고..

 

해결방법 :: 

@foreach( var brd in bridges ) {
    MonitoringInfo info = Service.GetMonitoringInfo( brd );
	
    <div ... >
    	<button @onclick=( e => EditDangerConfirm( info.ID, info.DangerValue) ) >
    </div>
    
}

 

독립변수가 되겠끔. 

   MonitoringInfo info ; 선언을 foreach 안쪽으로 내렸다.

이렇게 하면 @onclick되는 시점에 바인딩될때의 변수값들을 가지고 컨펌창이 뜬다.

 

 

 

 

'# 4) .Net ( Vs 2010 ) > Web Matrix _Razor' 카테고리의 다른 글

Web Matrix] 구조화 컨텐츠... Layout  (0) 2011.04.20
Web Metrix ] 첫만남?  (0) 2011.04.19

 

 음... 현장대응하시는 분이 MySql 을 설치하면서 뭐가 안된다고 전화가 와서 받아보니...

노트북에서 진행했던대로 안넘어간다고 하였다. 

 

 첨엔 영상통화로 보다가 핸펀으로 연결해서 원격으로 보니.. 

인스톨 진행 중에 보이는 "product configuration" 목록이 비어있네? 

root pwd 등록 부분도 없이 지나갔고 ... 

 

 Full로 선택해서 그냥 설치하면 보였던건데... 구글링해보는 걸로 얘기를 하고

끊고... 검색을 겁나 해봤지만... 마땅히 관련이 있을 만한 내용은 못찾았다.

 

구글번역으로 보이는 문구가 하나 있었지만... Full 로 선택한거랑 뭔차이겠나? 싶었는데... 

정말 정말 혹시나 하는 마음에 "Custom" 선택하고 Document를 빼고 나머지 항목들을 모두 선택하고 

시작하니... C++ 라이브러리 하나를 설치를 하더니 진행이 되면서... 설치가 완료되었다. 

 

 Full로 하는거랑 뭐가 달랐을까? Windows 10 Home버젼에선 그냥 깔렸는데... Pro버젼에선? 왜???

일단 설치는 끝마쳤으나... 

 

 PLC 구성이 현장마다 다 다르다는걸 이제사... 알려주면... 

대응을 어찌하리오... 현장이 마다 PLC 구성이 다른건 설계할때 알 수 있었던걸까? 

나가보니 다르더라인가? 

 오늘 알고리즘 구조 변경하고... 대략 샘플 테스트 마쳤다. 

내일 PLC붙여서 테스트 해보고 코드 정리해서 보내야지.. 

 

 

 

 

 

대의원 20 : 1 권리당원 

표의 등가성이 축소되었다. 

1:1 은 아니어도... 60 > 20까지 줄었으니... 

권리당원들 수가 많으니 이제 민주당의 당원들의 목소리가 국회의원들 귀에 좀 들리려나?

아~ 슈발 나겨비 븅서기 호중이 굥지니 종미니 서루니 진표 워누기 썅기대 듣보잡 수박들... 

개혁의 시점을 놓쳐서 역사가 거꾸로 40년은 되돌아간것 같다. 

전 땅끄때처럼... 

 

이재명 당대표와 그 옆에서 같이 어깨를 나란히 하는 민주당 의원들... 모두 화이팅!!

수박새끼들 뚜까 패서 꼭 좀 내보냈으면... 

 우리동네도 대의원제 바뀌고 표수 계산을 해보면 과연? 썅기대가 박아놓은 대의원들

표가 너무 많진 않은지... 권리당원들이 많을지... 

 

 

 카테고리 정리를 한번 해야 하려나....  

 

이번 플젝 하나를 하게 되었다. 지인분 회사에서 LG산전 PLC...를 HMI가 아닌 웹페이지에서 모니터링 하고 싶어하신다. 

MES할때 봤던 PLC를... 15년? 16년만에 보는건가? 

 

모드버스TCP로 통신하는 걸로 해서 8일날 PLC를 받고 벌써 일주일이 되었구나... 

어쨌든... 오늘 오전 드디어 샘플로 작성되어 있는 PLC 레지스터 정보를 읽어내고 쓰는데 성공했다. 

주말2일, 하루는 어머니 병원다녀오고...  딱 3일 걸렸다. 

%MW0, %MW100, %MX160, %MX0  주소가 이렇게 되어 있는 걸 값을 읽어야 하는데...

공부를 2일동안했다. PLC 주소체계랑, 모드버스TPC 통신 프로토콜...

 초반에 LG산전 PLC통신 치면 XGT서버와 통신하는 것들이 나와서... 헤매고... 

 

기본적으로 메모리 주소체계.

그리고 모드버스TCP통신 프로토콜에 대한 이해.

 

LG산전 PLC 메모리 주소체계 설명.

https://www.youtube.com/watch?v=BE5WZYjT8ZA

 

http://comfilewiki.co.kr/ko/doku.php?id=tcpport:modbus-tcp_%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EC%9D%B4%EB%9E%80:index

 

tcpport:modbus-tcp_프로토콜이란:index [Comfile Technology's Online Documentation]

MODBUS-TCP란 MODBUS-TCP는 산업용 필드버스 분야에서 자주 사용되는 통신 프로토콜 입니다. TCP/IP 네트워크 상에서 상위장치와 하위장치간의 인터페이스를 위하여 고안된 통신방법입니다. MODBUS-TCP 통

comfilewiki.co.kr

 

http://comfilewiki.co.kr/ko/doku.php?id=tcpport:funtion_code%EB%B3%84_data_%EA%B5%AC%EC%A1%B0_%EB%B0%8F_%EB%94%94%EB%B0%94%EC%9D%B4%EC%8A%A4_%EC%A0%9C%EC%96%B4:index

 

tcpport:funtion_code별_data_구조_및_디바이스_제어:index [Comfile Technology's Online Documentation]

Funtion Code별 DATA 구조 및 디바이스 제어 MODBUS-TCP는 Function Code별 프로토콜 Data구조가 조금식 달라집니다. Function Code별로 요청·응답에 대한 프로토콜의 데이터 구조를 알아보고 TCPPORT의 디바이스

comfilewiki.co.kr

 

그리고 마지막으로... 

https://www.youtube.com/watch?v=O580kTtpfNI

 

가끔 C#으로 이런저런거 하는 건 봤는데... 

엄청나게 도움이 된다. 이걸 보려면... 주소체계나 프로토콜 이해가 필요하니...

순서에 상관없이 꼭 시청하면 될 듯 하다. 

 

30일까지 프로젝트를 마무리 해야 해서... 내일부터는 라이브러리 코드 정리하고... 

윈도우서비스로 데이타 수집하는 프로세스 만들고, 웹서비스로 모니터링한 데이타 뿌려주는걸.... 보름안에 해야 한다. 

오늘 통신이 되어서 뭔가? 안도감이??? 나머진 쉬운거니까... 

잘 구성해서... 1년에 두세개 정도 나온다니.. +_+;;;  밥값은 벌 수 있겠당.

 공통 UI쪽 관련해서 조금 만지는 부분이 있는데... 

코드를 아래와 같이 쓸수 있으면 어떨까? 라는 생각을 해봤다. 

  Call()( msg => msg( "x" ) );

 

Call() 호출하고 이어서 대리자로 연결된 메서드에 파라미터를 받아서 전달!!

 

UI를 다루면서 두가지 처리를 연속적으로 하게 되는 거였다. 

UseFlowBodyPanel();

foreach( var data in ListDatas ) {

     AddFlowBodyItem( data );

}

이런 식으로 처리하는 걸... 줄여서 

UseFlowBodyPanel()( AddFlowBodyItem => foreach( var data in ListDatas ) AddFlowBodyItem( data ) );

 

실제 코드는 여러가지 조건들을 고려해서 조금 바뀌지만...위 처럼 갈 것이다. 

 

다만 Call()은 테스트 코드로 작성했던것이기에... 기록으로 남겨두려 한다. 

 private Action<Action<Action<string>>> Call()

        {

            System.Diagnostics.Debug.WriteLine("Call!");

            Action<Action<Action<string>>> returnMethodCall

              = new Action<Action<Action<string>>>((msg)=> msg( Call_After ));            

            return returnMethodCall;

        }

 

        private void Call_After(string msg)

        {

            System.Diagnostics.Debug.WriteLine("Call_After!" + msg);

        }

 

Action<string> 은 Call_After( string msg )와 연결되는 게 기본이니까 알겠는데... 

 

연결지으려면 왜 Action<Action<...>> 으로 두개가 필요한건지는 잘 모르겠네... 

 

찾는 방법은 Call() (  <-- 이렇게 코딩해놓고 vs에 표시되는 인자값이 Action<string> 인지 확인하였더니 

Action<Action<...>> 이었다. 

 

Action  mth = s => console.Write( s ); 이런 형태로 Action이 빠지니까.. 

Call() 에서 리턴받은 object가 Action< Action < Action<string> > >

인데... 

Action이 하나 빠지고 

msg => msg( "x" ) 

msg는 Action<string> 이니까... 

Action<Action<string>> 을 정의한거고... 

.... 뭐래는겨......... 모르겠다 ㅠㅠ. 

머리속에 맞춰지지 않는 퍼즐이 있는 것 같은 느낌... 아.. 싫어.. 

 

Action<Action<string>> mth1 = mthCall => mthCall("?");
mth1(Call_After);

---------------------------------------------------------------------------------

Action대신 Method로 바꿔 생각해보면... 

 

Action< Action< Action<string > > >
Mth0(   Mth1(    Mth( string ) ) )
Mth0(   Mth1(    MethodName    ) )

Call()(  MethodName => MethodName( prms ) );

Action<string>  
   mth( string => string )

Action< Action<string > >
   mth1(   MethodName => MethodName( str )  )

Action< Action< Action<string > > >
   mth0(   mm =>  mm( MethodName ) )

 

Action<Action<Action<string>>> returnMethodCall

              = new Action<Action<Action<string>>>((msg)=> msg( Call_After ));            

 ----->    (msg)=> msg( Call_After )

 

이거 때문에 잠도 못잤네. 

Call() (   여기에서 왜? mth0이 사라지고 mth1이 대입되는거지??? ) : 두개가 벗겨지네...

 

 

Action<Action<Action<string>>> returnMethodCall = Call();
returnMethodCall( msg => msg("???") );

음... 실제 리턴받은걸 실행해보면... 위처럼 되네...? 

어라... 뭐지? 

 

Action<Action<Action<string>>> returnMethodCall

              = new Action<Action<Action<string>>>((msg)=> msg( Call_After ));     

 

returnMethodCall(   이자리는  Action<Action<string>>  타입이 들어와야 하니.. m => m("?") ); 

아... 이랬던가? 

new로 대상을 지정하는 람다식과 대리자를 호출하는 부분에 차이때문에 내가 헷갈린건가... 

아무렇지도 않게 사용하던거에... 정신이 나가버릴것 같네... 이제 이해가 된다... 

POE] 게임... 필터..

--- 취미2023. 10. 11. 22:57

필터부분 수정 후 테스트.. 

- 네버싱크

  : 정의의화염 초반 셉터, 모든화염젬렙, 모든주문젬렙, 물리주문젬(신성한 화염 토템에 적용)등 가진 셉터가

떨어지면 필터에 걸리도록 수정, 또는 5렙에 사용하는 흑단목 셉터를 필터로 잡는다. (변옵돌리려고...)

  : 헬멧에 혹시 정의의 화염 인챈트 된 것! ( 거의 볼일은 없겠지만... )

 

아이템 필터 랭킹 ( https://poe.game.daum.net/item-filter/ladder/follower )  에서

네버싱크 클릭하면 아래처럼 나온다 [복사] 클릭하면 

필터명을 바꾸고... 

# [[0100]] Global overriding rules 부터... 아래 내용으로 채워넣는다.. 그후 아래 [제출하기] 를 클릭한다.

 

 

아래처럼 저장이 된다.

게임내 필터로 지정하고 떨궈보면... 아래처럼 보인다.. ( 소리는 쉽게 구분 가능한 소리로... )

 

 초반 액트 1에 물에잠긴길에서 흑단목 셉터가 떨어지면...

이 셉터에 변옵 돌려서 모든 물리, 화염, 주문 젬 레벨 +1 을 띄우면 .. 액트 밀기 좋다.

음.. 모든 셉터를 잡을까? (액트 진행중에 셉터는 계속 진화의 오브를 던져야 하니...:화염젬레벨뽑기)

 

# [[0100]] Global overriding rules

################################################### js RF START
# 흑단목 셉터 ( 물리, 모든, 화염 젬 레벨 + 1 표시 )
Show # $type->magicid $tier-> RF
Mirrored False
Rarity Normal Magic Rare
Class == "Sceptres"
Identified True
Corrupted False
HasExplicitMod >=1 "달인의" "화염 형성자의" "석마술사의" #모든젬, 화염젬, 물리젬+1
SetFontSize 45
SetTextColor 255 255 255 255
SetBorderColor 255 255 255 255
SetBackgroundColor 0 20 180 255
PlayAlertSound 1 300
PlayEffect Red
MinimapIcon 0 Red Star

Show # $type->magicid $tier-> RF
Mirrored False
Rarity Normal Magic Rare
Class == "Sceptres"
BaseType == "흑단목 셉터"
Corrupted False
SetTextColor 255 255 255 255
SetBorderColor 255 255 255 255
SetBackgroundColor 0 20 180 255
PlayAlertSound 2 300
PlayEffect Blue
MinimapIcon 0 Blue Triangle

Show # $type->magicid $tier-> 방패
Mirrored False
Rarity Normal Magic Rare
Class == "Shields"
Identified True
Corrupted False
HasExplicitMod >=1 "엄벌가의" "달인의" "화염 형성자의" "석마술사의" #소환수젬, 모든젬, 화염젬, 물리젬 +1
SetFontSize 45
SetTextColor 255 255 255 255
SetBorderColor 255 255 255 255
SetBackgroundColor 0 20 180 255
PlayAlertSound 1 300
PlayEffect Red
MinimapIcon 0 Red Star

# 인챈트 정의의 화염
Show # $type->rareid $tier-> 인챈트
Rarity Rare
Class == "Helmets"
AnyEnchantment True #인챈트 된 것
HasEnchantment "Enchantment Righteous Fire Damage 1" "Enchantment Righteous Fire Damage 2" "Enchantment Righteous Fire Area Of Effect 2" 
SetFontSize 45
SetTextColor 0 240 190 255
SetBorderColor 0 240 190 255
SetBackgroundColor 47 0 74 255
PlayAlertSound 1 300
PlayEffect Purple
MinimapIcon 1 Purple Diamond

# 사운드 PlayAlertSound {1-6} 300
# 1 - 환영오브 떨어지는 소리..., 행운아(x신성2) 같은 카드 소리
# 2 - 카오스, 연금...
# 3 - 고유 
# 4 - 지도 흰맵, 노랑
# 5 - 지도 빨맵
# 6 - 디바인

#디바인 떨어졌을때 ( 흰바탕, 빨간글씨, 빨간 테투리 )
# SetFontSize 45
# SetTextColor 255 0 0 255
# SetBorderColor 255 0 0 255
# SetBackgroundColor 255 255 255 255
# PlayAlertSound 6 300
# PlayEffect Red
# MinimapIcon 0 Red Star


#카드중 '행운아' 떨어졌을때 ( 파란 바탕의 흰글씨, 흰색 테두리 )
SetFontSize 45
SetTextColor 255 255 255 255
SetBorderColor 255 255 255 255
SetBackgroundColor 0 20 180 255
PlayAlertSound 1 300
PlayEffect Red
MinimapIcon 0 Red Triangle

################################################### js RF END

 

모바일용 프로그래밍을 하는 중인데, 아직 1개도 제대로 못만들었네... 

머리속에 3개가 있었는데... 

기획한건 모바일이었지만... 개발을 하다보니... 완전 잘못된 길이었어... 

모바일용 기획이 따로 있구나.. 싶다. 마우스와 손가락은 많이 다르네... 

손가락 터치로 하게 되면 시야에서 가려지는 컨텐츠들이 있어서... 마우스 동작과는 많이 다르다. 

작은 화면( 휴대폰 )에 넣으려는 컨텐츠를 선별하고 줄이느라 다 쳐냈더니... 

 하나의 프로그램에서 여러기능중에 하나만 남고 다 제거되었다. 

 

박차를 좀 가해봐야겠네... 이러다 10월도 금방 가버리겠고만... 

 

목표를 줄여서 남은 2개월동안 꼭 하나만 완성하자....

 하~!  끝내는 수박들이 이재명 당대표를 판/검사들의 아가리에 던져버렸다. 

 

동료 애는 없고 지들 뱃지만 보고 있는게... 

내가 보기엔 반지의 제왕의 '골룸' 같은 것들이 수박들이다.  개ㅅㄲㄷ...

 

우리동네 수박 양기대. 이거 날릴려고 권리당원까지 되었다... 

빨리 뒈지라고 빨간색으로 써주마... 

 

 이재명 당대표 영장실질심사를 받게 되었고.. 기나긴 단식도 이제 끝났다. 

부디 건강 되찾길... 그리고 기각되기를...

 믿고 보는 정청래의원님... 멋지셔... 유튭으로 보게된 부산에서의 명연설... 

원내대표를 바로 뽑는다 하니 수박 김민석 이 나온다네... 

수박은 진짜 머가리를 깨버려야 돼. 음흉한 새끼....... 

우원식 의원이 되기를... 빌어본다.

--------------------------------------------------------------------------------------------------

 

최근 머리속에 이미지가 하나 떠오르는데... 그리고 싶은데... 안그려진다. 

간단한 스케치를 했는데... 너무 허접해.... 

 

태극기의 건곤감리가 모두 널덜 너덜하게 떨어져가고... 

태극문양의 파란 문양이 곧 떨어질 위기에 있는 태극기...

그 너덜 너덜 떨어져가는 태극문양의 파란 모양을 겨우 붙잡고 있는 국민들...손...

그 위에 사다리 놓고 올라가 붙들고 있는 이재명 당대표를 일러스트로 그리고 싶었는데... 

국민들 서있는 바닥엔 수박들이 자라서 열매를 맺고 있는 모습.. 

그리고 한쪽에서 이제 수박들을 싸커킥으로 날려 깨버리는 모습들.... 

 

이 걸 그려보려고 스케치를 했는데... 그림 그린지 오래되서 그런지... 잘 안되네.. 

 

이런게 떠오른건 뉴스들을 보다보니... 

100년전 미국과 일본의 짬짜미로 우리나라가 강점기에 36년간 ... 끔찍하게 살아온 우리 조상님들... 

그리고 일본이 미국 통수 쳤다가 폐망하고 우리는 자유를 얻었지만...

미국과 이승만에 의해 친일 매국노들을 중용하여 

 일장기에 건곤감리를 붙이고 파란 태극무늬를 붙여 태극기라 불러놓은 것 같다는 생각이 들었고.. 

붙여놓은 건곤감리가 다시 써그리와 미국 일본에 의해 떨어져나가고 일장기가 나올 위험이 있다는 걸... 

그려서 그 의미를 보여주고 싶은데... 

 개발도 해야 하는데... 스케치가 계속 머리속에......