<?xml version="1.0" encoding="UTF-8"?>

<rss xmlns:activity="http://activitystrea.ms/spec/1.0/"
     version="2.0">

    
    
    
    
    
    
    <channel>
        
            <title><![CDATA[아직은 개발일 하고 있어요]]></title>
            <link><![CDATA[https://blog.naver.com/ebandal?fromRss=true&trackingCode=rss]]></link>
            <image>
                <url><![CDATA[http://blogpfthumb.phinf.naver.net/MjAxODAzMTNfMTMg/MDAxNTIwOTA2MDA5MjE4.Np1wcJyUqHQySHOeslOcS57d9oEEs3qbKZN-zxT9ii8g.ELNpe2Duqg7ramgrXyfNeTciwV69X0tpKLe5m9QIBpMg.JPEG.ebandal/ebandal2012.jpg?type=m2]]></url>
                <title><![CDATA[아직은 개발일 하고 있어요]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal?fromRss=true&trackingCode=rss]]></link>
            </image>
            <description><![CDATA[퀀트를 접하고 인생의 방향을 전환.
투자는 평생 함께할 취미.
필요한 SW는 자작.
]]></description>
            <language>ko</language>
            <generator>Naver Blog</generator>
            <pubDate>Fri, 17 Apr 2026 23:20:01 +0900</pubDate>

            <item>
                <author>ebandal</author>
                <category><![CDATA[프로그래밍]]></category>
                <title><![CDATA[완전 무료 SSL 인증서 발급 받기]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223411320136?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223411320136</guid>
                
                <description><![CDATA[아무리 작은 서비스라고 하더라도 실제로 구축하려고 하면, https 를 지원하도록 해야 한다. 데모 서비스로 문서를 pdf로 변환하는 pdf 변환서비스 Live streaming 서비스 를 구축하고 이를 한 서버에서 구동하도록 만들기로 한다. 우선 https 를 지원하기 위해서는 SSL 인증서 (실제로는 TLS 인증서가 맞겠지만) 가 필요하다. SSL 인증서를 스스로 발급하는 Self-signed 형태로 만들수도 있지만, 일반 유저들의 브라우저에서는 self-signed 인증서를 신뢰하지 못하니 안전한 연결을 만들수 없다. 안전한 연결을 만들려먼 브라우저들이 신뢰하는 발급기관에서 발급한 인증서를 사용해야 하는데, 3개월이지만 무료로 SSL 인증서를 발급해주는 Let&....... <img src="https://blogthumb.pstatic.net/MjAyNDA0MTBfNjkg/MDAxNzEyNzIzNTYyMTEy.OsQxFMgspkuoZtw_ZtlxmV4whmNmQx_nubvtw4f7_cQg.zNuu_HNvk5quuKPXD2up3_NRymod0iTiDyVYN7_V_w8g.PNG/image.png?type=s3" />]]></description>
                <pubDate>Wed, 10 Apr 2024 13:34:16 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[H2O restart v0.6.3 배포]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223402752305?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223402752305</guid>
                
                <description><![CDATA[v0.6.3에는 크게 2가지 개선사항을 추가했다. 첫 번째는 탭 컨트롤 위치가 약간의 차이로 다음 줄로 넘어가는 이슈를 수정했다. 두 번째는 글자에 배경색이 있으면 음영색을 숨기도록 했다. 배경색과 음영색 2가지가 왜 따로 존재하는지 이해가 되진 않지만, 그렇게 사용해왔으니 따를 수밖에 없다. Hwpx 변환 시에 문단 나누기 PARA_BREAK가 Hwp 변환 시보다 적게 발생했는데, 문단 내용이 없을 때 PARA_BREAK를 하나씩 추가하는 것으로 유사성을 확보했다. 4월의 시작과 함께 배포한다. <img src="https://blogthumb.pstatic.net/MjAyNDA0MDJfNjUg/MDAxNzExOTg0OTgxNzE3.0dirJrSW674_IPml_HIivH76XGQJR8aL87XMG-l5Hosg.D8NC21cDLm4j-DIpWzaMyOYS-BudRXDUwdk5kG3Obhkg.PNG/변경후1.png?type=s3" />]]></description>
                <pubDate>Tue, 02 Apr 2024 00:33:56 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[시장을 이겨라]]></category>
                <title><![CDATA[감사보고서로 포트폴리오 구성]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223402738621?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223402738621</guid>
                <description><![CDATA[2018년에 적용하겠다고 했던 감사보고서로 포트폴리오 구성을 6년이 지난 2024년에야 적용하게 되었다. 직장에서 주어진 일을 우선했기 때문에 개인 프로젝트에 집중할 마음의 여유가 없었기도 했고, 퀀트에이드를 여러 가지 리뉴얼 하느라 차일피일 미루다가 지난겨울부터 준비를 하게 되었다. 회계 감사보고서를 대부분 3월 22일 전후로 공시를 마무리하고, 감사보고서와 함께 사업보고서도 같은 날 공시를 하는 것을 지켜보게 되었다. 굳이 감사보고서를 가지고 지표를 뽑지 않더라도 같은 날 올라오는 사업보고서를 가지고 지표를 뽑아도 된다는 소리가 된다. 어쨌건 이번엔 공시 마감일이 아닌 1주일 전에 많은 수의 상장사 사업보고서를 가.......]]></description>
                
                <pubDate>Tue, 02 Apr 2024 00:15:46 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[H2O restart v0.6.2 배포]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223379176255?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223379176255</guid>
                
                <description><![CDATA[이미지 위치 오류에 대한 버그리포트가 올라왔다. 한컴 원본에서는 이미지가 사각형 내에 위치해 있다. 반면, 리브레오피스 확장을 통해서 보면, 이미지가 사각형을 벗어나기도 했고, 브라우저에서 캡처한 화면으로 보인다. 이번에도 묶음 개체인데, 사진과 Text Frame이 묶여 있다. 게다가 사진은 그림 자르기 효과가 적용되어 있다. 확장에서는 그림 자르기 cropping을 지원하지 않고 있었다. 리브레오피스 SDK API에서 지원하는 graphicCrop을 이용하여 줄이기를 시도해 봤으나, 원본 이미지가 PAPER 크기보다 큰, 이번의 경우에는 원하는 크기대로 줄여지지 않았다. 결국 이미지를 Java 단에서 읽어들여서 crop 이미지만을 저장하고, 저장된....... <img src="https://blogthumb.pstatic.net/MjAyNDAzMTBfMTA3/MDAxNzEwMDc0OTEzNzYw.4i3L84BA0fS61z5GYiRHM5WonR1lHdqX_CH3XgwdCSUg.OamPbaUoTvVfzd70kNW5p2WW3uEPa0gDBlgmM8-6dWYg.PNG/image.png?type=s3" />]]></description>
                <pubDate>Sun, 10 Mar 2024 21:59:47 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[프로그래밍]]></category>
                <title><![CDATA[H2O restart 개선 및 v0.6.1 배포]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223364964003?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223364964003</guid>
                
                <description><![CDATA[표 안의 텍스트가 잘리는 현상에 대한 이슈가 등록되었다. HWP 원본은 아래와 같은 내용이다. 리브레오피스 H2Orestart v0.6.0으로 변환했을 때 표 내부에서 텍스트가 잘려 보인다. 표의 BorderDistance 속성이 있는데, 이 값이 클수록 텍스트를 가리게 되어 잘려 보이게 된다. 속성을 따로 지정하지 않으면 default 값으로 동작하는데, 이 상태로도 텍스트가 잘려 보이게 된다. 따라서 표를 그릴 때 BorderDistance 속성을 0 값으로 주어 텍스트가 잘리지 않게 수정했다. 또, 위 첨자에 해당하는 글자가 처리가 안 되어 있는데, 이 부분도 CharEscapement 속성값을 조절하여 지원하도록 했다. 개선했을 때 변환된 모습이다. 한컴 전용 폰트를 사....... <img src="https://blogthumb.pstatic.net/MjAyNDAyMjVfNzMg/MDAxNzA4ODcwNzc2ODUw.c0yRX4wCmctIpUDoFNWAXw-yR2tkiw6KM428Oj6eP6Yg.BuT4xuQH87gSJUPJ4IX_mnKXU8fcbNYI_qk249DIth8g.PNG/image.png?type=s3" />]]></description>
                <pubDate>Sun, 25 Feb 2024 23:35:30 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[H2O restart 개선 및  v0.6.0 배포]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223341150750?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223341150750</guid>
                
                <description><![CDATA[v0.5.10 배포 이후 얼마 되지 않았는데, 또다시 개선 버전을 배포한다. v0.5.10 버전을 배포하면서 이후로 미뤄둔 개선할 내용을 준비 중에 crash 건이 리포트되어 새로운 버전 배포하면서 여러 건을 같이 배포하게 되었다. 이번 배포에 포함된 내용들은 아래와 같다. 첫 번째 묶음 개체 표현이다. 기존에도 묶음 개체 내에 포함된 도형들을 비교적 맞는 위치에 그려주긴 했지만 묶음 개체 내 글 상자나 이미지는 적절한 위치에 그릴 수가 없었다. 도형 개체는 Transformation 속성을 지원하는 반면, 글 상자와 이미지 개체의 속성이 Transformation을 지원하지 못했기 때문인데, 이번에 묶음 개체 내 글 상자와 이미지는 사각형 개체로 바꾸어 그....... <img src="https://blogthumb.pstatic.net/MjAyNDAyMDFfMjkg/MDAxNzA2NzgxNzc2NDUz.eba6jEPR1yr2yrusYNVOhOIvQuKnGWB7-aGkO3g6oekg.gFvJfGNLnX78fe16ZzF1y5a4YbxQQ3WTCyVmoikTDYMg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Thu, 01 Feb 2024 19:39:15 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[H2Orestart 버그 수정 및 v0.5.10 배포]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223328438556?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223328438556</guid>
                
                <description><![CDATA[H2Orestart github에 issue가 지속적으로 올라온다. 첫 번째, 특정 hwp 파일을 열려고 하면 LibreOffice가 종료된다는 이슈이다. 튕긴다든지, 터진다든지 표현이 있지만 crash라고 부르겠다. 디버깅해보았더니 이럴 수가!!! 초보적인 버그가 있었다. 나 경험 있는 개발자 맞아? 한컴에서 UNIT8 타입의 문단 스타일 아이디 참조 값이 있다. 이것을 java에서 8bit, 1byte로 다루고 있었다. 이 값이 127보다 넘는 값이면 java에서는 음수가 되어버린다. java에는 unsigned byte형이 없기 때문에 이 범위의 값을 다루려면 short형으로 선언했어야 했다. 이런 초보적인 오류를 가지고 있었는데도 그동안 버그를 발견하지 못했던 건 아이디 값이 127 넘....... <img src="https://blogthumb.pstatic.net/MjAyNDAxMjBfNzgg/MDAxNzA1NzM2MTgzNjcz.bOLI5-FTnPVwkNPfDUamtY70uxKW-I7sumbzGoE92nMg.rW2DLwKIcTUwQ75C9m7SBL2QciF0upM3fzerZ0frIzIg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Sat, 20 Jan 2024 16:36:44 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[ubuntu-touch]]></category>
                <title><![CDATA[root file system을 r/w로 마운트 하기]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223138436981?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223138436981</guid>
                <description><![CDATA[ubuntu-touch를 설치하면 / 파티션이 read-only로 마운트 되어 있다. 매번 rewrite 해서 마운드 하면 되긴 하지만, 서비스로 등록된 것들은 시작하지 못할 수도 있다. 이것을 rw로 변경하는 방법이 있긴 하지만, system 이 망가지는 것에 대해서 경고를 하고 있다. 방법은 간단하며, 이렇게 변경하고 사용하여 발생한 문제에 대해서는 본인이 직접 책임을 져야 한다.]]></description>
                
                <pubDate>Sun, 25 Jun 2023 20:45:43 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[ubuntu-touch]]></category>
                <title><![CDATA[ubuntu-touch에 docker 설치]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223138273136?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223138273136</guid>
                <description><![CDATA[현시점에서 ubuntu-touch의 ubuntu 버전은 16.04 이다. ubuntu 16.04 에 docker를 설치해본다. docker 뿐만 아니라 docker compose 도 함께 설치했다. 16.04 이어서 인지 systemctl 명령으로 실행시키려했으나 Unknown unit 이라고 나온다. 대신 service 명령으로 실행시켰다.]]></description>
                
                <pubDate>Sun, 25 Jun 2023 16:15:48 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[postmarketOS]]></category>
                <title><![CDATA[postmarketOS 리눅스에서  docker 사용]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223138169987?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223138169987</guid>
                <description><![CDATA[alpine 리눅스의 패키지 관리자는 apk 이다. apk 명령으로 docker 를 설치해본다. docker가 설치되었다. docker compose를 사용하기 위해서 추가로 설치한다. 설치한 버전을 확인해본다. 설치는 했지만, docker 데몬이 동작하지 않는다. docker 데몬을 실행하도록 한다. docker 테스를 해본다. docker데몬을 실행시켜도 종료되어 docker가 동작하지 않는다. /var/log/docker.log 에서 단서를 찾는다. google 검색하니 iptables legacy를 사용하라고 나온다. 재부팅까지 했으니, 다시 docker 동작을 테스트해본다. docker가 이제 동작한다.]]></description>
                
                <pubDate>Sun, 25 Jun 2023 13:16:57 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[postmarketOS]]></category>
                <title><![CDATA[AndroidOne을 linux 머신으로]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223138168590?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223138168590</guid>
                <description><![CDATA[집에 굴러다니던 AndroidOne 스마트폰이 있다. 모델명은 Xiaomi Mi A1 인데, 딸내미가 쓰던 첫 휴대폰이었다. 여기에 linux OS를 올려서 저전력 PC의 역할을 대체하고자 한다. Xiaomi Mi A1의 코드명은 tissot. postmarketOS 가 tissot device를 지원한다. postmarketOS는 alpine linux의 mobile 버전이라고 생각하면 된다. https://wiki.postmarketos.org/wiki/Xiaomi_Mi_A1_(xiaomi-tissot) 64GB의 userdata 영역을 사용하기 위해서, userdata partition에 system 이미지를 write 하고, system partition은 지우도록 한다. 이제 저전력 linux 머신이 하나 생겼다.]]></description>
                
                <pubDate>Sun, 25 Jun 2023 13:14:10 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[프로그래밍]]></category>
                <title><![CDATA[Hwpx 파일의  Odt 변환 ep.2]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223114675124?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223114675124</guid>
                
                <description><![CDATA[시작한 지 얼마 되지 않았는데, H2O restart 버전을 네 번이나 릴리스했다. 그만큼 아직 개선할 부분이 많다는 뜻이고, 개선할 부분이 머릿속에서 떠나지 않기 때문이기도 하다. H2O restart에서 열리지 않는 hwpx 파일을 읽도록 하는 것에만 치중하다 보니 화면상에서 나타나는 모습이 가까워지지 않는다. 그래서 이번에는 화면상으로 비슷하게 보이는 부분에 대한 수정을 반영하도록 한다. hwpx 파일 확보는 과학기술정보통신부 보도자료에서 하고, 변환 시 가장 다르게 보이는 부분 몇 가지를 추렸다. 다음의 것들이 눈에 거슬린다. 변환 시 보도 및 배포 일시 테이블의 위치가 다른 부분 문단 간격이 차이가 있는 부분 글자 간격 차이가 있는....... <img src="https://blogthumb.pstatic.net/MjAyMzA1MjlfMjEz/MDAxNjg1MzQ3NjMxOTcw.4g94veV6JN7wU_DqiZobIqzn0JL3wX0HViaNCyl0aRUg.kHag6H046SffwpN_AvWjiG1S53ciO7SXtCanOGu4F0Eg.PNG.ebandal/2월15일보도자료.png?type=s3" />]]></description>
                <pubDate>Mon, 29 May 2023 17:08:43 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[프로그래밍]]></category>
                <title><![CDATA[Hwpx 파일의  Odt 변환 ep.1]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223107901326?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223107901326</guid>
                
                <description><![CDATA[H2O restart에서 Hwpx 파일을 Odt로 변환하는 것에 중점을 두고 있다. 내가 보유한 한컴 2014 버전으로 hwp 파일을 hwpx로 저장한 다음 H2O restart로 odt 변환을 확인했다. 그런데, hwpx 가 아예 변환이 안된다는 의견을 받았다. 나름 웬만큼 변환된다고 생각하고 있었는데, hwpx 파일이 변환이 안된다니... 내가 가진 한컴오피스 2014 버전으로 저장한 hwpx만 변환되고, 상위 버전의 한컴에서 저장한 hwpx는 변환이 안되는 상황인듯하다. 그렇다고 꼭 필요하지 않은 한컴오피스 상위 버전을 구매할 필요가 있겠는가 싶었다. 인터넷을 뒤져서 hwpx 파일들을 찾아보기로 했다. 인터넷을 검색하던 중, 과학기술정보통신부에서 보도자료나 공고사항....... <img src="https://blogthumb.pstatic.net/MjAyMzA1MjFfMTI2/MDAxNjg0NjYzODM5OTIw.XVBGsiKdR4g-oQZ_xMe3PCWo8JSvFK-PUOBHFEELm5gg.buq5rMiNhmN75_9K8yRNRalWICMIzlEzJ4SmcmFQc-Ig.PNG.ebandal/보도자료_변환.png?type=s3" />]]></description>
                <pubDate>Sun, 21 May 2023 19:14:30 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[프로그래밍]]></category>
                <title><![CDATA[네이버 한글 서식 Hwp를 ODT로 변환, ep4]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223101377512?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223101377512</guid>
                
                <description><![CDATA[다시 조금씩 LibreOffice extension을 만지작거리고 있다. H2O restart 이름으로 시작한 이후 처음이자, 오랜만에 네이버 서식을 변환하면서 개선 작업을 진행해 본다. 이번 변환할 서식은 h_맛집 노트. hwp이다. 원본의 첫 장은 이렇게 생긴 문서이고, 총 7페이지로 되어 있다. 우선 H2O restart v0.5.2로 변환해 봤더니, 너무 차이가 많이 난다. 이미지 부분이 보이지 않으니 휑하니 비어 보인다. 한컴 문서를 확인해 보니 해당 이미지는 타원의 배경 이미지로 작성된 부분인데, extension에서는 이미지로 채우는 부분은 아직 미구현 상태였다. FillBitmap 속성을 주면 되는 것 같은데, LibreOffice 포럼을 검색해 봐도 자세하게 나오진 않는다....... <img src="https://blogthumb.pstatic.net/MjAyMzA1MTRfNzAg/MDAxNjgzOTkwNjE4NDUz.Waijgrh6EOwlLaa2CSgSpjUdw6R8HMd1ntq_z1wgKIsg.2Bl_wLFj5nPCWYaP4Xq4pwuJnfuSlTFixpyDi1_5MKwg.PNG.ebandal/v0.5.3.png?type=s3" />]]></description>
                <pubDate>Sun, 14 May 2023 00:13:10 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[한컴 문서 변환 새로운 시작]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/223070712295?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/223070712295</guid>
                <description><![CDATA[기존에 개발했던 리브레오피스 확장은 이전 회사에 종속된 결과물이라, 더 이상 그것에 손대고 싶지 않은 마음과 지속 개선하고 싶은 마음이 계속 줄타기를 하고 있었다. hwp2odt를 새롭게 진행하고자 새로 github repository를 만들었다. 기존과는 차별점으로 hwpx 문서를 변환하는 것에 중점을 두고자 한다. 기존의 hwp2odt를 새롭게 시작한다는 의미로 H2O restart 란 이름으로 시작한다. 소스코드도 포함해서 공개하기로 한다. hwp2odt 버전 보다 높은 버전으로 시작하고자 0.5.0 버전 부터 시작한다. hwpx 변환은 아직 미흡한 부분이 많지만, hwp2odt처럼 짬짬이 개선하면 된다.]]></description>
                
                <pubDate>Mon, 10 Apr 2023 23:12:31 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[LibreOffice 7.1.x 과 7.2.x 변환 품질 차이]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222607517764?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222607517764</guid>
                
                <description><![CDATA[extension을 만들 때 LibreOffice 7.1을 기준으로 만들어서 그런지 7.1에서의 변환은 생각대로 되었으나, 7.2에서의 변환은 생각만큼 나오지 않았다. 그 이유는 7.2에서 빈 paragraph에 그림, 글 상자 등의 개체를 배치하고, 그 문단에서 문단 바꿈을 넣으면 개체가 다음 문단으로 이동하는 것이다. 원인을 몰라 한참을 헤매다가 LibreOffice의 7.1 과 7.2 사이의 UNO api 차이임으로 결론을 내렸고, LibreOffice 쪽에 bug report 문의를 해보았다. https://bugs.documentfoundation.org/show_bug.cgi?id=146139 한참을 기다렸으나 답변이 없어, Writer 실행하여 손으로 작성하며 비교해 봤다. UNO api에서의 발생한다기보다는 writer 자체....... <img src="https://blogthumb.pstatic.net/MjAyMTEyMjlfMjM1/MDAxNjQwNzUxNzI2NTk0.rEVsALDYplSEut30eag_0nu5GlR2nq7GIuuxxy214VMg.ZmIrA724O2qyF9d7AhysM_EuUAvcUD0-5AYVejFKlQkg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Wed, 29 Dec 2021 13:07:40 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[네이버 한글 서식 Hwp를 ODT로 변환, ep3]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222606683911?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222606683911</guid>
                
                <description><![CDATA[다음 변환할 서식은 h_견적서. hwp이다. 원본의 첫 장은 이렇게 생긴 문서이고, 총 6page로 되어 있다. 현재 Hwp2Odt 버전 0.3.5로 변환했을 때, 아래와 같이 변환된다. 앞서 변환 시도하면서 수정사항이 반영돼서 인지, 많이 차이가 나지는 않는다. 다만 텍스트 세로 방향이 변환되지 않고 보인다. LibreOffice의 Text Frame 속성 내 텍스트 방향을 "오른쪽에서 왼쪽으로 (세로)" 변환되도록 하면 될 것 같다. 업데이트. Hwp 문서 구조에서 세로 방향 여부를 읽어내는데 시간이 오래 걸렸다. 한컴 문서에는 세로 방향 여부를 잘 드러내지 않고 있어서, 가로쓰기 개체와 세로 쓰기 개체를 번갈아 읽으면서 어떻게 다른지 분석하였다. 글....... <img src="https://blogthumb.pstatic.net/MjAyMTEyMjlfMTI3/MDAxNjQwNzQ5MzkyNDY3.kR1MWz4EIJzCqj1mF3ga_H6PUf_sxNdUXwo6zwtmagAg.O8LgMdFCxABOndICnM5z3pVn5bnaaG4tLxTHu4yaeTQg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Tue, 28 Dec 2021 14:14:16 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[네이버 한글 서식 Hwp를 ODT로 변환, ep2]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222597981796?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222597981796</guid>
                
                <description><![CDATA[두 번째 변환하는 네이버 한글 서식은 h_견적서.hwp 이다. 요렇게 생긴 문서인데, 변환하기 매우 까다롭다. 완벽까지는 아니지만, 비슷하게라도 변환하려면 숨어있는 부분들을 처리해야만 한다. 왜 이런 서식이 존재할까? 왜 이렇게 까다롭게 만들었을까 하는 생각이 든다. hwp 파일을 함부로 변환하려고 도전하지 말라는 깊은 뜻이 있어서일까? 아무튼 변환하기 위해서 해결해야 하는 부분은 아래와 같다. 1. 첫 장에 나오는 4개의 테이블은 1개의 container에 포함되어 있다. container 개체를 처리할 수 있어야 한다. 2. 첫 장의 두 번째 테이블은 4개의 칼럼을 가지지만 1개의 칼럼만 표시되고 있다. 3개의 칼럼은 숨어있다. 3. 두 번째 장에....... <img src="https://blogthumb.pstatic.net/MjAyMTEyMTdfNTQg/MDAxNjM5NzI4OTgyMTQ3.pkocCXzQd7JTQ4MJ98oqh_oYp_Cz35DBYbuPmKmnvI4g.vfJmiNTEIEAlScjMMMQ7EBme73Zplgczv4hwZOQdYxcg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Fri, 17 Dec 2021 17:22:38 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[네이버 한글 서식 Hwp를 ODT로 변환, ep1]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222584390592?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222584390592</guid>
                
                <description><![CDATA[Hwp2Odt extension을 공개한 이후로 꾸준히 업데이트를 진행했다. 사내에 보유한 한글 파일들이 여럿 있으니 그 파일을 변환하면서 오류를 개선해왔다. 어느 정도 눈에 띄는 오류들을 수정하고 나니, 자만심이 발동한다. 이 정도면 웬만큼 변환되는 거 아냐? 네이버 한글 서식이 접하고, 이 서식 파일을 웬만큼 변환시킨다면 변환 품질을 인정받을 수 있겠다 싶었다. 아! 네이버 한글 서식 첫 번째부터 나를 당황스럽게 만들었다. 두세 번 꼬아서 만들어놓은 ** 올림피아드 문제 같다고 할까. 이제 목표는 네이버 한글 서식을 비슷하게 변환하는 것이다. 첫 번째는 "h_2단 리플렛"이다. Hwp에서 본 원본 파일은 아래와 같다. Hwp2Odt v....... <img src="https://blogthumb.pstatic.net/MjAyMTEyMDJfMjQg/MDAxNjM4MzcxMzUzODc1.cJdK89JDvHJDkcsHtmjedTcNJoAtl51q-UGDKLAeel8g.DYaU40RSJrQ6_ttn7Zy8baMUG7zOLI8j6jHo7RInRJQg.PNG.ebandal/h_2단리플렛_1차개선후.PNG?type=s3" />]]></description>
                <pubDate>Thu, 02 Dec 2021 00:18:54 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[Hwp를 Odt로 변환, 복기(되돌아보기) #2]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222511563593?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222511563593</guid>
                
                <description><![CDATA[몇 주 동안 주말 시간을 이용해서 컴파운드 파일 파서를 구현했다. 제대로 만들어졌는지 검증하는 과정이 필요했는데, Structured Storage View 와 폴더 구조를 비교하면서 디버깅했다. https://www.mitec.cz/ssv.html 한컴에 게시된 "한글문서파일 형식_5.0_revision1.3.hwp" 파일을 컴파운드 파일 구조를 파싱 했다. GUI로 표현하면 좋겠지만, 이 정도로만 해도 해석이 가능하니, 꼭 필요한 부분이 아니면 우선순위를 뒤로 두도록 한다. Root Entry 아래 5개의 storage 와 stream으로 구성되어 있고, storage 아래 storage로 구성된 것은 없다. 각 stream을 읽어내려면 Chain으로 구성되어 있는 mini stream (또는 stream)을 Size 만....... <img src="https://blogthumb.pstatic.net/MjAyMTA5MjBfMTcx/MDAxNjMyMTIyNDM5ODY2.il2wofuTWUBPlvo3ASqAdbckPACo8Ka0Ln8-n4V8ficg.6O_jFqK-D47ZTemcnwsqQ1ycsNC3eWu5GB8m23gncFcg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Mon, 20 Sep 2021 16:26:16 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[Hwp를 Odt로 변환, 복기(되돌아보기) #1]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222510559675?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222510559675</guid>
                
                <description><![CDATA[리눅스 환경에서 Hwp 파일을 PDF로 변환하기 위해서 검색을 하면서 찾아봤다. MS Office의 경우 PDF 변환이 가능한 여러 가지 방안이 있고, 무료로 사용할 수 있는 반면, Hwp 파일은 리눅스 환경에서 PDF 변환이 쉽지 않은 것으로 보인다. 일부 PDF로 변환하는 오픈 소스가 있으나 상용 퀄리티는 아닌 걸로 보인다. 이러한 요구와 니즈가 꽤 오래전부터 있었을 텐데, 왜 아직 이 수준인가 싶었는데, 우연히도 Hwp 관련 library를 만들고 공개/비공개를 반복하는 사례도 알게 되었고, 그 과정에서 상대를 비방하고 탓하는 사례도 있었음을 알게 되었다. 사례는 차치하더라도, 아무도 관심이 없거나, 누가 만들기를 기다리고 있거나, 영리목적으로....... <img src="https://blogthumb.pstatic.net/MjAyMTA5MTlfMjkw/MDAxNjMyMDE4OTMzMzMy.jchez1LDEIkiAzaBhAbVHx0oL3jmiR4JC7iyFpiCM90g.uFxPzTqF1ESNHREy87CuXYEKHqz4GOVNtOY5HJZAQ04g.PNG.ebandal/한컴컴파운드설명.png?type=s3" />]]></description>
                <pubDate>Sun, 19 Sep 2021 11:39:30 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[한컴문서 ODT 변환기 (과거: Hwp2Odt, 현재: H2O restart)]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222455548343?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222455548343</guid>
                
                <description><![CDATA[한컴문서(hwp)를 Open Document Text (ODT)로 변환하는 SW를 만들었다. 회사에서 재직하는 동안 만들었으니, 회사의 소유물이다. 하지만 회사에 외부 공개를 건의했고 (힘들게 만든 것을 더 많은 사람이 쓰도록 하기 위해) 소스코드까지는 아니지만 바이너리 파일을 공개하는 것까지는 허가를 받았다. 현재 github에 공개되었다. https://github.com/k2webtech/hwp2odt 단독 App이 아니고, LibreOffice에 추가로 설치하는 extension이다. Plugin이라고 생각하면 될 것 같다. LibreOffice를 먼저 설치하고, 도구 -> 확장 관리자 선택한다. 확장 관리자 아래 [추가] 버튼을 누르고, Hwp2Odt.oxt 파일을 선택하여 추가한다. Hwp2Odt 확장이 추가....... <img src="https://blogthumb.pstatic.net/MjAyMTA4MDNfMTMg/MDAxNjI3OTY4Nzk2NDI3.0pH3TDQwak1XRIQxDjUVcQxu8gbinnfH7TQ4AaJhuF0g.G1KUYoHLGj2XplSwXG4gWi7XvDPMkw6IvFhO3jwB754g.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Tue, 03 Aug 2021 14:47:26 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[Linux]]></category>
                <title><![CDATA[WSL 2 (Windows Subsystem for Linux)]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/222190524322?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/222190524322</guid>
                <description><![CDATA[WSL는 Windows Subsystem for Linux이다. Microsoft에서 Windows OS에서 필요에 따라서 Linux 환경을 제공한다. 기본으로 제공하는 것은 아니고 WSL 설치 과정을 거쳐야 이용할 수 있다. 왜 Windows OS에서 Linux 환경을 제공하는 것일까? 개인적인 생각으로는 시시각각 변화하는 IT 환경에서 Windows OS 계열만 가지고는 클라우드 가상화 기술에 한계를 느낀 것이 아닐까 한다. 기존에 windows에서 Linux 빌드 환경을 만들거나 Linux 실행환경을 만들려고 할 때 Cygwin 같은 프로그램을 설치하거나, Virtual Box 내부에 Linux를 설치했었는데, Linux와 유사한 환경은 제공하지만 한계가 있거나, 매우 느렸기에 편하게 사용하기 어려웠다. 이제야.......]]></description>
                
                <pubDate>Wed, 30 Dec 2020 18:09:30 +0900</pubDate>
                <tag><![CDATA[WSL2]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[Frequency Analyzer]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221702780318?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221702780318</guid>
                <description><![CDATA[오랫동안 생각만 했던 주파수 해석에 대한 프로그래밍을 해봤다. 내가 클래식 기타 연주를 배울 무렵에는 악보 구하기가 쉽지가 않았다. 시중에서 구할 수 있는 클래식 기타 서적에 담겨 있던 악보, 동아리에서 보유하던 악보는 그나마 노력이 덜 드는 편이였고, 선배들이 보유한 악보를 부탁해서 복사해서 구하는 정도가 전부였다. 지금에 비하면 악보 구하는 것도 노력이 많이 필요한 시절이었다. 악보에 대한 갈증으로 음반에 있는 소리를 악보로 변환할 수 있으면 대단하겠다고 생각만 했었다. 지금은 기타도 연주하지 않고, 악보를 구하려는 노력도 하지 않지만, 그 당시에 생각했던 묵은 기억이 계속 남겨 놓은 숙제처럼 머릿속을 맴돌고 있.......]]></description>
                
                <pubDate>Sat, 09 Nov 2019 16:07:53 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[삶 업그레이드]]></category>
                <title><![CDATA[진보의 착각]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221642980494?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221642980494</guid>
                <description><![CDATA[사전적인 의미로 진보는 앞으로 나아가는 것을 의미한다. 사회의 변화와 발전을 꾀하는 것이다. 보수는 변화를 거부하고 기존의 것을 유지하려는 것을 의미한다. 지금의 사회가 싫은 부분이 좋은 부분보다 더 많기에 변화가 있어야 한다고 생각하면 진보이다. 그래서 사회의 문제를 해결하려는 사람이 필요하다. 직접 적폐를 청산하거나 대신하여 적폐를 청산하려는 사람을 응원한다. 사회가 지금보다 더 좋을 수 없기에 현재에 머물러 있어야 한다고 하는 진영이 보수이다. 그들은 적폐를 청산하려고 하지 않는다. 왜냐면 지금이 좋기 때문이다. 적폐가 있다한들 지금도 꽤나 좋은 세상인데 뭐하러 바꾸냐는 생각이며, 내 생각에 그들은 과거가.......]]></description>
                
                <pubDate>Mon, 09 Sep 2019 00:11:53 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[삶 업그레이드]]></category>
                <title><![CDATA[생계형 인간들과  광기의 세상]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221641623186?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221641623186</guid>
                <description><![CDATA[세상을 보니 너무 한심하다는 생각이 든다. 점점 나이를 먹으면서 세상을 둥글게 살아가게 되지만, 세상은 왜 더 광기를 부리는 걸로 보이는 걸까? 난 이런 생각을 한다. 세상은 아직 바뀌지 않는다고... 난 살면서 부모세대, 또 부모세대의 부모세대를 탓했다. 왜 세상을 비균형과 차별로 만들고 불공평의 세상을 만들었냐고... 그런데 살아보니 나 역시, 내 세대 역시 그러한 세상을 바꾸지 못한다. 나 역시 생계형인간이고, 나의 생계가 다른 집단의 이익보다 우선한다. 그러한 생계형인간이 대부분인 세상에서는 나보다 잘난 사람을 보면 뭔가 나보다 더 구린 짓을 하면서 저 지위에 올라갔을거라고 생각하게 된다. 나보다 그가 더 노력했는.......]]></description>
                
                <pubDate>Sat, 07 Sep 2019 12:35:30 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[JavaFX 2일차]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221546617145?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221546617145</guid>
                <description><![CDATA[JavaFX 2번째 예제인 Login Form을 실행해봤다. 위의 예제는 Login.css 을 사용하고 있고, 아래는 Login.css 내용이다. css 와 같은 경로에 background.jpg를 둔다. Eclipse 환경 기준으로 css 파일과 image 파일을 어디에 두어야 할지 설정해야 한다. pom.xml 파일에 아래의 내용을 추가한다. 그리고 css 파일과 jpg 파일을 src/main/resources 아래에 둔다. Maven -> Update Project... 선택하고 나서, 실행해본다.]]></description>
                
                <pubDate>Sun, 26 May 2019 00:16:12 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[Reactive 1일차]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221546534744?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221546534744</guid>
                <description><![CDATA[Reactive programming을 하려니 어떤 라이브러리를 가지고 할 것인가를 선택해야 한다. Android에서는 RxJava 2 가 많이 사용되는 것 같고, Spring에서는 Reactor 3 가 포함되어 있고, Sodium 라이브러리도 책과 함께 좋은 예제들을 접할 수 있으니, 이 중 하나를 선택하면 되겠다. Backend 쪽 Spring에서 Reactive programming 할 수 있으면서도, desktop app으로 JavaFX와 같이 사용할 수 있는 Reactor를 선택하기로 한다. Java 8과의 결합이 용이하다는 것이 작용했다. 또한 Android app 개발에 적용하긴 어렵지만, Java 8이 적용되는 Oreo target부터는 사용이 가능한 것으로 보인다. RP (Reative Programming)으로 가면서 급격한 learning c.......]]></description>
                
                <pubDate>Sat, 25 May 2019 22:06:44 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[JavaFX 1일차]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221545149020?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221545149020</guid>
                <description><![CDATA[어려웠던 지난해를 보내고 재취업으로 생계를 이어간다. 생각이 많이 바뀌었지만 여전히 내가 잘할 수 있는 것에 집중해야겠다는 생각은 변함없다. 내가 멀리 떠나있던 사이에 Java에도 많은 변화가 있었음을 알았다. 배워야 할 것이 많다는 뜻이다. 나이에 비해 뇌가 싱싱하다는, 아무도 인정해주지 않는 자기 주문을 외면서, 배우고 가야 할 방향을 되새긴다. Functianal Reactive JavaFX programming. 퀀트에이드 구축하면서 만들어냈던 코드들을 바꾸려고 한다. 거창하게 말하면 refactoring. 첫 번째 JavaFX 예제가 있다. https://docs.oracle.com/javase/8/javafx/get-started-tutorial/hello_world.htm 그런데 NetBeans IDE에서 돌리란다.......]]></description>
                
                <pubDate>Fri, 24 May 2019 00:22:38 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[iOS]]></category>
                <title><![CDATA[Mac에 gcc 설치]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221455467488?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221455467488</guid>
                <description><![CDATA[1. 먼저 package manager를 설치 $ xcode-select --install 2. Homebrew 설치 $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 3. brew 설치 확인 $ brew doctor 출처: https://www.howtogeek.com/211541/homebrew-for-os-x-easily-installs-desktop-apps-and-terminal-utilities/ 4. gcc 설치 $ export HOMEBREW_NO_ANALYTICS=1 $ brew update $ brew upgrade $ brew info gcc $ brew install gcc $ brew cleanup 출처: https://discussions.apple.com/thread/8336714]]></description>
                
                <pubDate>Thu, 31 Jan 2019 12:07:55 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[삶 업그레이드]]></category>
                <title><![CDATA[Youtube 고마움과 피로감]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221424043042?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221424043042</guid>
                <description><![CDATA[YouTube에 대한 생각을 해보게 된다. 세상의 모든 것이 밝은 면과 어두운 면을 가지고 있으니 Youtube로 마찬가지다. 물론 이건 내 개인적인 시각이다. 밝은 면은 좋은 콘텐츠가 무료로 제공된다. 내가 관심 있는 분야인 생활코딩, 프로그래밍, 머신러닝 등에서 크리에이터 들의 덕분에 쉽게 접근해서 배울 수 있다. 물론 이러한 콘텐츠를 올린 크리에이터의 노고에 감사할 뿐이다. 구독과 좋아요는 필수다. 어두운 면은 피로감이다. Youtube 내에서도 콘텐츠 생산자와 콘텐츠 소비자가 있다. 콘텐츠 생산자가 매우 많아졌다는 느낌이 든다. 기하급수적으로 늘어난 느낌이랄까? 콘텐츠 소비자가 소비할 수 있는 시간은 무한하지 않고 일정 수준만.......]]></description>
                
                <pubDate>Fri, 21 Dec 2018 11:50:46 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[Postgresql]]></category>
                <title><![CDATA[선형회귀 분석 SQL]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221419520756?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221419520756</guid>
                
                <description><![CDATA[선형회귀 함수로 과거의 값을 기반으로 미래의 추정값을 구해보자. regr_slope 는 선형회귀함수의 기울기를 구하는 함수이고, regr_intercept는 선형회귀함수의 절편값을 구하는 함수이다. 선형회귀함수를 y = ax + b 이라고 하면, a는 regr_slope로, b는 regr_intercept로 구할 수 있다. 예를 년도별 ROE(자기자본이익률) 이라고 해보자. 실제로 이렇게 구할수 있다면 좋겠지만...엑셀에서 FORECAST(2019,B2:B10,A2:A10)함수 결과와 거의 같은 값이 계산됨을 확인할 수 있다. <img src="https://blogthumb.pstatic.net/MjAxODEyMTVfMTYw/MDAxNTQ0Nzk5ODA5MDQz.BueJ7EzPR9CKYho5crqHTKa1VHfRcp8YoXwrYRvfUIwg.KkiVIYqiD9jBmoziUg7zfsvIyLKGhDttODXLU978Y6gg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Sat, 15 Dec 2018 00:10:17 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[미래ROE에서 목표주가 정하기]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221419495849?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221419495849</guid>
                <description><![CDATA[채권쟁이... 로 유명한 (중고시장에서 10배로 거래되었다던 ) 책의 전면 개정판을 보고 있다. 기업의 10년 후 ROE를 추정한 미래ROE를 가지고 15% 수익률을 기대할 때의 진입 조건이다. 참고로 미래ROE의 단위는 %이다. 10년 후 예상되는 순자산가치는 = 현재주당순자산가치 * (1+미래ROE/100)10 예상수익률은 아래와 같이 유도할 수 있겠다. 예상순자산가치 / 현재주가 = (1+예상수익률)10 예상수익률 = (예상순자산가치 / 현재주가)1/10 -1 미래 순자산가치를 위의 식에 대입하면, 예상수익률 = (현재주당순자산가치 * (1+미래ROE/100)10 / 현재주가)1/10 -1 예상수익률을 15%에 맞추고, 매수 목표가를 유도해보자. 0.15 = (현재주당순자산가치.......]]></description>
                
                <pubDate>Fri, 14 Dec 2018 23:21:13 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[안드로이드]]></category>
                <title><![CDATA[external Jar 파일을 프로젝트에 포함시키기]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221412827249?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221412827249</guid>
                <description><![CDATA[안드로이드 앱을 수정하면서, 사용하는 library를 앱에 포함시켜 달라는 요청을 받았다. 이유야 뭐가 되었건, 이를 해결할 수 있는 방안을 찾아본다. Android Studio가 external jar를 인식시키려면 먼저 jar 파일을 가져와야 한다. 검색해본다. 역시 stackoverflow 가 제일 먼저 검색된다.https://stackoverflow.com/questions/25660166/how-to-add-a-jar-in-external-libraries-in-android-studio External Jar를 포함시키는 방법을 간단하게 설명하면, 포함시키고자 하는 jar 파일을 app 경로 아래에 포함시키고, gradle에서 인식하도록 하면 된다. 1. build, src 폴더가 있는 폴더에서 libs 폴더를 만들고, jar 파일을 넣는다. 2. app 단 bui.......]]></description>
                
                <pubDate>Wed, 05 Dec 2018 12:52:44 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[퀀트에이드 US버전]]></category>
                <title><![CDATA[미국 주식 analyst rating 보는 곳]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221407826581?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221407826581</guid>
                
                <description><![CDATA[한국 주식장이 좋지 않아 지표 전략도 다시 찾느라, 미국 버전은 손도 못 대고 있다. 언젠가는 하겠지만, 구현할 때 도움이 될까 싶어 그동안 봐둔 것들도 잊지 않으려면 정리를 해 놔야 한다. 우선 rating이다. 애널리스트들이 해당 종목을 Strong Buy, Buy, Hold, Sell, Strong Sell 등의 의견을 내놓은 것들을 모아서 해당 IB, 투자자문사의 의견으로 제시한다. rating 확인하는 법을 알아보자. 참고로 아래 순서는 내 bookmark 상의 순서일 뿐, 앞에 나온다고 더 신뢰할 수 있는 것은 아니다. 준비사항. 내가 투자하고자 하는 종목의 심벌을 알아야 한다. apple의 심벌은 "APPL", JP Morgan Chase의 심벌은 "JPM"처럼. a....... <img src="https://blogthumb.pstatic.net/MjAxODExMjhfMTQ1/MDAxNTQzMzY0NTg3OTUx.fHZcDHrdyKBJ0qSKbP6c61EYHzl9HPUtYApxn_6LS30g.2pOcWxcW63zSyC8xZEa-hYOjgr5x1HgETHQkzzgMlp0g.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Wed, 28 Nov 2018 10:57:01 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[자작(QuantAide)]]></category>
                <title><![CDATA[퀀트에이드 상표권 등록]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221407748922?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221407748922</guid>
                
                <description><![CDATA[봄에 출원했던 퀀트에이드의 상표권 등록이 이제야 완료되었다. <img src="https://blogthumb.pstatic.net/MjAxODExMjhfMjUg/MDAxNTQzMzYzMDcxNjM3.5XmCjo_f-YwK1vT8Z0CJj0z3G843reI-jjMxTwcAj7Qg.1ER3htFBvPmZ7n4pGjFYt2eAr6SCdWdVe2BO06Ntn5Mg.JPEG.ebandal/20181127_230416_Burst01.jpg?type=s3" />]]></description>
                <pubDate>Wed, 28 Nov 2018 08:56:28 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[Java 프로그래머의 TensorFlow 배우기 02 - "Hello ~"]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221403845247?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221403845247</guid>
                
                <description><![CDATA[프로그래밍을 처음 배우면 가장 처음 나오는 것이 "Hello World"이다. 유사하게 tensorflow 첫 번째 example 코드가 있다. 이를 작성하고 컴파일하자. 먼저 example pom.xml 을 카피해서 복사해 넣는다. 앞서 생성한 project에 App.java 가 생성되어 있으니, 이를 HelloTensorFlow로 변경하고 example 코드를 카피해 넣는다. AppTest.java 파일은 당장은 필요하지 않고 sample 코드만 돌려보는 게 목적이므로 지운다. Maven 메뉴에서 "Update Project"를 선택해서 수정한 내용이 적용되도록 한다. 이제 HelloTensorFlow 실행시켜 본다.버전명이 보인다. tensorflow 가 정상적으로 설치된 것을 확인했다. <img src="https://blogthumb.pstatic.net/MjAxODExMjJfMjEz/MDAxNTQyODY0NDM4ODA4.Cy0eHa8h6JNaxESOpHYSNL-zqu0ExVeRpn2qfgUICikg.KoKQyZHwUk5oXxnCtb9l92Qeh8aouWFAKTDfpb1thRsg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Thu, 22 Nov 2018 14:32:03 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[Java 프로그래머의 TensorFlow 배우기 01 - 설치]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221403704355?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221403704355</guid>
                
                <description><![CDATA[https://www.tensorflow.org/install/lang_java 에 방문한다. Java를 위한 maven dependency가 있다. 현재 버전은 1.12.0 이다. Eclipse에서 실습용 프로젝트를 만들어보자. maven project로 생성한다. 산출물 Id에는 원하는 App 이름을 넣는다. 여기서는 learningTF로 한다.Maven project가 생성되었다. package 탐색기를 보면 pom.xml 이 보일 것이다.pom.xml 파일을 열어서 TensorFlow의 dependency를 dependencies 안에 삽입한다.잠시 (몇 분) 후, tensorflow dependency 파일들이 project에 포함된 것을 볼 수 있다. CUDA를 지원하는 그래픽카드가 있다면 추가적인 dependency를 포함시키면 된다. 내 PC의 그래픽카드는 CUDA를 지원하지 않....... <img src="https://blogthumb.pstatic.net/MjAxODExMjJfMTkw/MDAxNTQyODUxODA0NjEy.3RGM6FninxpIOrhsJGMhvLiNgqG8F4drHNS7nRgSWx4g.WawelHqhCOZjlQFQLIJeaZ1mpcseZ-4Nq74Ox4eZPSQg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Thu, 22 Nov 2018 11:17:54 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[미국은 강 달러를 원할까?]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221397032520?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221397032520</guid>
                <description><![CDATA[강 달러 (달러 가치 상승) 국면에서는 신흥국의 화폐가치가 상대적으로 낮아지기 때문에 더 많은 자국 돈을 들여 달러로 바꾼 후 원자재를 사야 하고, 달러를 빌린 주체는 달러이자를 갚기 위해 더 많은 돈을 내야 하며, 수출로 물건을 팔아서 버는 달러가 적어지게 된다. 신흥국 입장에서는 확실히 약 달러가 좋다. 미국은 강 달러는 원할까? 강 달러는 상대적으로 신흥국 통화 약세를 의미한다. 달러 환율이 높기 때문에 수입한 물건들의 가격이 상대적으로 저렴해지지만 수출은 어려워진다. 미국 입장에서는 주변국들이 달러를 보유하고 달러가 지배력을 유지하는 것을 원하지만(강 달러), 달러 환율이 내려가서 수출에 유리한 것이 유리하다.......]]></description>
                
                <pubDate>Mon, 12 Nov 2018 18:51:26 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[금리와 환율 무엇이 먼저냐?]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221396917425?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221396917425</guid>
                <description><![CDATA[통화량이 증가하여 물가가 전반적으로 상승하는 현상을 인플레이션이라고 한다. 반대로 물가가 지속적으로 하락하는 현상을 디플레이션이라고 한다. 즉, 돈의 가치가 떨어지는 것은 인플레이션, 돈의 가치가 높아지는 것은 디플레이션이다. 물가가 오르면 돈 가치가 하락하는 것이고, 이럴 때 돈 가치를 인위적으로 높게 만들어 물가와 돈 가치를 평행하게 만들려는 노력이 금리 인상이다. 균형을 넘어서 돈의 가치가 상승하고 물가가 상대적으로 하락하게 되면, 돈의 가치가 부풀려져 있다고 보게 되고(버블 논란), 차입이 큰 기업은 이자 부담이 커지게 되므로(펀더멘털에 문제), 금리를 낮춰서 다시 균형을 이루고자 하는 노력을 한다. 돈의 가.......]]></description>
                
                <pubDate>Mon, 12 Nov 2018 16:21:34 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[금리의 주식시장 영향]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221396466987?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221396466987</guid>
                <description><![CDATA[기업의 생산성이 높아지고, 가계의 구매력이 높아지면 (GDP 증가) 그만큼의 금리 상승은 감내할 수 있다. 물가가 올라가도 소비가 위축되진 않는다는 뜻. 그러나 금리 상승 폭이 커지면, 좀 더 물가가 올라가고 돈 가치가 떨어지기 시작, 실질소득과 소비력이 약화된다. 돈의 가치가 떨어지는 것을 인플레이션이라고 하는데, 가계들은 이 인플레이션이라는 보이지 않는 세금을 내는 효과가 있다. 기업은 금리가 낮은 시절 많은 부채를 끌어왔을 텐데 금리가 올라가는 폭이 크면 금융 조달 비용(부채 이자)이 커지게 되고, 더 이상 자금조달이 안되는 기업들이 늘어가기 시작한다. 투자자의 경우도 높아진 은행 이자로 자산을 옮기거나, 비싸진 대.......]]></description>
                
                <pubDate>Sun, 11 Nov 2018 23:50:58 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[국제 유가 하락의 이면성]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221396135219?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221396135219</guid>
                <description><![CDATA[국제 유가 $70 -> $60 아래로 내려가면서 원유 증산이 되면서 유가가 안정되었다고 해석하기 보다는 중국 자동차 판매가 감소하여 유가가 하락했다고 해석하면서 증시에 나쁜 영향을 줌. (유가 하락이 원유 공급이 늘어난 것이 아닌 원유 소비가 줄어들었다고 해석) 유가는 원자재중 하나. 신흥시장에서는 원자재에 민감. ( 원자재 수입 -> 가공품 수출 ) 우리나라 : 원유 수입 -> 가공 -> 수출. 원유 가격이 싸지면 생산원가가 낮아지나, 수출량이 줄어드는 효과. 유가가 금리를 자극하는 요인, 유가가 안정되면 물가를 안정. 금리를 묶어두게 됨. 유가 하락이 경기가 나쁘다라고 해석되기도 함. [주식이야기-주간증시전망대에서]]]></description>
                
                <pubDate>Sun, 11 Nov 2018 13:17:38 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[파월 의장 발언의 영향]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221396128238?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221396128238</guid>
                <description><![CDATA[파월 의장의 발언이 주식시장에 안 좋은 영향을 줬음. 악재 : 미국경기 좋고, 금리 인상할 것임을 시사할 경우, 주식시장을 압박하게 됨. 호재 : 점진적인 금리 인상을 언급할 경우, 주식시장에 호재. [주식이야기-주말증시전망대에서]]]></description>
                
                <pubDate>Sun, 11 Nov 2018 13:01:14 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[투자아이디어]]></category>
                <title><![CDATA[닥터 구리(Dr. Copper) 지켜보자]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221395352678?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221395352678</guid>
                <description><![CDATA[신과 함께(46-3). 김일구 센터장 출연. 구리 선물 가격 상승 - 미국이 인프라 투자가 가까워짐을 파악. 산업재, 인프라에서 주도주. 위안화 절상(위안화 환율이 떨어지는지) - 중국이 미국에 보이는 성의를 보인다고 판단.]]></description>
                
                <pubDate>Fri, 09 Nov 2018 22:34:57 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[안드로이드]]></category>
                <title><![CDATA[개인 정보처리 방침]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221394444909?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221394444909</guid>
                <description><![CDATA[앱 APK에 포함된 버전 코드(1)가 특정 권한(android.permission.READ_PHONE_STATE)을 필요로 합니다. APK에서 이 권한을 사용하는 앱에는 개인 정보처리 방침 세트가 필요합니다. # android.permission.READ_PHONE_STATE - 푸시 메시지를 보내기 위해 수집하는 등록 토큰과 휴대폰 번호 중, 휴대폰 번호를 불러오는데 필요한 권한입니다. 해당 애플리케이션은 단말의 등록 토큰과 휴대폰 번호 외에 다른 어떤 정보도 수집하지 않습니다.]]></description>
                
                <pubDate>Thu, 08 Nov 2018 17:47:21 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[ASN.1 PER viewer]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221393606502?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221393606502</guid>
                
                <description><![CDATA[이전 직장에서 팀 내 디버깅용으로 제작했던 viewer를 소개합니다. 퇴사한지 만 1년이 지났기에 과거에 했던 일에 대해 얘기하는 것이 자유로워졌습니다. 이런 류의 유사한 툴을 필요로 하는 개인이나 업체가 있으면 제작 의뢰 주세요. 툴 소개 내용은 이렇습니다. 이 기종 간의 시스템에서 통신을 할 때 오고 가는 data structure를 ASN.1 notation으로 설계합니다. 또 BER, uPER, PER, DER 등의 encoding rule들 중 어떤 encoding rule을 쓸 것인지 결정합니다. encoding rule에 따라 압축률이 달라져서 패킷량이 달라지기 때문이죠. 무선망을 쓸 경우 패킷량이 줄어드는 것이 과금 측면에서 유리합니다. 설계가 완료되면 asn.1 상용 compiler로....... <img src="https://blogthumb.pstatic.net/MjAxODExMDdfMjA4/MDAxNTQxNTc0MTEwOTEx.7nwJmTfn0brTCcfjbP7m9Mf3n1nvAZC9T6FOaA76xtIg.sFKf7rOiHui3zzOAeFOXFgNpOo0SNEEDc1CLuYTyj-Qg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Wed, 07 Nov 2018 16:24:10 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JAVA]]></category>
                <title><![CDATA[eclipse project를  maven project로 만들기]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221393331261?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221393331261</guid>
                
                <description><![CDATA[maven이 익숙하지 않아서 eclipse에서 general project를 생성하여 개발을 시작했더라도, 배포 시점에서 maven을 적용해야 할 필요성이 생길 것 같다. 이럴 때 손쉽게 전환하는 방법이 있다. 전환하고자 하는 프로젝트를 선택하고, 오른쪽 마우스 메뉴에서 Configure -> Convert to Maven Project를 선택한다. 이후에 pom.xml 을 작성하면 된다. 단, maven project를 general project 로 전환하는 기능은 없으니 충분히 생각하고 전환해야 한다. <img src="https://blogthumb.pstatic.net/MjAxODExMDdfMTYy/MDAxNTQxNTUzMTg3MDA4.imtVAZ5K0z87zTnjL0AOJLd2tgrodFW17uDeXq8YMscg.lV84G1ds5XpsRxo_ZLClsYYKPPZ_H1bVBXxLkc7AXeUg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Wed, 07 Nov 2018 10:20:46 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[안드로이드]]></category>
                <title><![CDATA[Preventing WebView reload on Rotate]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221393316783?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221393316783</guid>
                
                <description><![CDATA[Orientation을 Landscape에서 Portrait로 또는 그 반대로 전환할 경우, Webview가 초기 URL을 다시 로드하는 문제점을 발견했다. googling 하여 해결 방안을 찾아본다. 제목과 동일하게 검색되는 결과가 있다. 세 부분을 수정한다. 첫 번째. AndroidManifest에서 configChanges에 "orientation|screenSize" 값을 설정한다.두 번째. onRestoreInstanceState() 와 onSaveInstanceState()를 override 해준다.세 번째. 저장된 IntanceState가 없을 경우가 처음 webview가 동작하는 것이므로 이때만 URL을 load 하도록 한다. 수정하니 orientation이 변하더라도 초기 URL을 로딩하지 않고, 내용이 유지된다. 동일한 문제점을 질문하고 답변을 해준 sta....... <img src="https://blogthumb.pstatic.net/MjAxODExMDdfMjU4/MDAxNTQxNTUxMzYzMzE4.NFB-QhM2dHTsb533kBX6Fk71QH1675VBuqaXSW7Y3iwg.mbZFdQCnXqVNlKRW-TC98c2gtyyz13JpAUNktttf4fIg.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Wed, 07 Nov 2018 10:00:30 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[안드로이드]]></category>
                <title><![CDATA[Multiple App Instance 문제점]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221393300087?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221393300087</guid>
                
                <description><![CDATA[푸시 메시지를 받으면, 앱이 foreground에서 동작하느냐에 따라 Notification을 받거나 FirebaseMessagingService.onMessageReceived()가 호출된다. Notification을 터치하면 앱이 실행되는데, 여러 번의 푸시 메시지를 받았다면 여러 번 Notification을 터치하게 되는 경우가 발생하고, 매번 새로운 앱이 뜨게 되는 문제점을 발견했다. 터치할 때마다 앱이 새롭게 실행될 이유가 없다. 오직 하나의 instance만 생성되어 동작하면 된다. 이를 singleton이라고 하는데, googling 해보면 Android에서의 singleton 패턴으로 작성하는 방법도 찾을 수 있었다. 하지만 가장 간단하게 해결하는 방법을 찾았는데, AndroidManifest 파일에서 launchMode를....... <img src="https://blogthumb.pstatic.net/MjAxODExMDdfMTUz/MDAxNTQxNTUwMDYyNjQ4.yEwBJCpgmtF8tz41joIzHQ-AGJZoucQqh0FYqtLJjIYg.IQjJQ4Ak4zGCC2Bm8lEcDd0LA817lUdeSD9PHN-iVTog.PNG.ebandal/image.png?type=s3" />]]></description>
                <pubDate>Wed, 07 Nov 2018 09:34:29 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

            <item>
                <author>ebandal</author>
                <category><![CDATA[JSP/Servlet]]></category>
                <title><![CDATA[Tomcat에서  예약 작업 구동하기]]></title>
                <link><![CDATA[https://blog.naver.com/ebandal/221389375278?fromRss=true&trackingCode=rss]]></link>
                <guid>https://blog.naver.com/ebandal/221389375278</guid>
                <description><![CDATA[기본적으로 Web Application은 HTTP request 올 때 동작하는 것이지만, HTTP request가 없이도 원하는 때에 원하는 작업을 실행시킬 수 있다. 나의 경우는 평일 4시 전후에 그날 종가를 가져와서 포트폴리오의 수익률을 다시 계산한다. ServletContextListener를 이용하면 되는데, 적용하는 방법을 알아본다. 1. ServletContextListener를 구현한 class를 작성한다. 나는 ScheduledJobManager라는 class로 작성했다. 2. WEB-INF/WEB.xml에 <listener> 항목을 작성한다. 내가 만든 class 명을 적어줘야 한다.3. tomcat 서비스를 다시 시작하고, 로그에서 생성한 class가 실행되는지 확인한다.]]></description>
                
                <pubDate>Thu, 01 Nov 2018 11:56:39 +0900</pubDate>
                <tag><![CDATA[]]></tag>
                <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb>
                <activity:object-type>http://activitystrea.ms/schema/1.0/blog-entry</activity:object-type>
            </item>

        
        
    </channel>
</rss>
