<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>this_dev_somehit.log</title>
        <link>https://velog.io/</link>
        <description>풀스택 그런데 프론트를 더 사랑하는</description>
        <lastBuildDate>Fri, 21 Oct 2022 13:58:38 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>this_dev_somehit.log</title>
            <url>https://velog.velcdn.com/images/this_dev_somehit/profile/a6d8a4c9-6e17-414e-8932-e4ca25445334/image.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. this_dev_somehit.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/this_dev_somehit" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[PythonShell 개발동기]]></title>
            <link>https://velog.io/@this_dev_somehit/PythonShell-%EA%B0%9C%EB%B0%9C%EB%8F%99%EA%B8%B0</link>
            <guid>https://velog.io/@this_dev_somehit/PythonShell-%EA%B0%9C%EB%B0%9C%EB%8F%99%EA%B8%B0</guid>
            <pubDate>Fri, 21 Oct 2022 13:58:38 GMT</pubDate>
            <description><![CDATA[<p>최근 python으로 데스크탑앱을 개발하면서 직면한 가장 귀찮은 문제를 바로 &quot;배포&quot;였다.</p>
<p>특정 pc에서는 exe 파일이 실행되지 않는다거나, 소스레벨에서 발생하지 않는 문제가 발생하는 등, 여러가지 문제가 발생했었다. 이는 분명 여러가지 이유(추가 설정, 숙련도 등)이 있겠으나, 당장 문제를 해결해야하는 상황에서 추가적인 테스트는 매우 어려웠다.
결국 bat 파일로 embeddable python을 실행시키는 방식으로 해결하기는 했으나, 이는 매우 불쾌한 해결책이었고 전혀 마음에 들지 않았다.</p>
<p>현재 조직도 및 분업 특성상, python을 사용하지 않는 것은 불가능하여 타 언어에서 python을 실행하고 결과를 받아오는 방법이 필요했다. 또한, flutter와 maui 중 어느 것을 사용할지 확정된것이 없기에, 두 언어용으로 모두 라이브러리를 개발하게 되었다.</p>
<p><a href="https://github.com/eseunghwan/PythonShell.NET">PythonShell.NET</a>
<a href="https://github.com/eseunghwan/python_shell.dart">python_shell.dart</a></p>
<p>아직은 모두 메인 프로젝트에 사용할 수 있는 수준이라 보기는 어려우나, 포팅중인 어플리케이션에 사용하면서 추가 수정 및 버그 픽스를 진행하고 있다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[flutter에 comapi를 사용하면서 겪은 일]]></title>
            <link>https://velog.io/@this_dev_somehit/flutter%EC%97%90-comapi%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%A9%B4%EC%84%9C-%EA%B2%AA%EC%9D%80-%EC%9D%BC</link>
            <guid>https://velog.io/@this_dev_somehit/flutter%EC%97%90-comapi%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EB%A9%B4%EC%84%9C-%EA%B2%AA%EC%9D%80-%EC%9D%BC</guid>
            <pubDate>Mon, 22 Aug 2022 11:32:46 GMT</pubDate>
            <description><![CDATA[<p>최근에 flutter 도입을 검토하면서 이미 진행되었던 프로젝트 중 가장 시간이 적게 소모되는 프로젝트를 선택하여 변환중에 있었던 일입니다.</p>
<p>기존의 프로그램은 pywebview(python webview) + html로 이루어진 구조였으며, ui부터 로직까지 모두 flutter로 대체중이었습니다. 여기서 <a href="https://pub.dev/packages/win32">win32</a> 라이브러리로 인해 한가지 문제가 발생했습니다.</p>
<ol>
<li>win32 에 IDispatch의 구현이 포함되어 있지 않습니다.</li>
<li><a href="https://github.com/timsneath/win32/blob/main/example/idispatch.dart">IDispatch 예제</a>는 있으나, 해당 기능을 코드에 추가하여 사용하는 방식입니다.</li>
<li>코드 자체는 문제가 없으나, &quot;Excel.Application&quot;, &quot;JMP.Application&quot;을 모두 인지하지 못하는 초유의 대형사태가 발생</li>
<li>3의 문제는 기존의 python 코드에서는 모두 발생하지 않는 문제였습니다.</li>
</ol>
<p>상기 3의 문제로 이틀이라는 시간을 소모하였으나, 끝내 문제가 해결되지 않아 결국 dotnet으로 JMP Executer를 작업하여 사용하게 되었습니다. 아래는 구현된 코드의 일부이며, 혹시라도 win32 IDispatch로 구동에 성공한다면 내용이 추가될 예정입니다.</p>
<p><img src="https://velog.velcdn.com/images/this_dev_somehit/post/9f562d44-ad9b-49c3-85af-bb4506f001b4/image.png" alt="">
dotnet에서 input.json 파일을 읽어 역직렬화 하는 코드</p>
<p><img src="https://velog.velcdn.com/images/this_dev_somehit/post/184d7d9a-8ae7-433e-98dc-72dc2758add9/image.png" alt="">
dotnet에서 input.json의 정보를 토대로 JMP를 구동하는 코드</p>
<p><img src="https://velog.velcdn.com/images/this_dev_somehit/post/68755807-7260-4791-9050-fbc7a18dcd77/image.png" alt="">
flutter에서 JMP Executer를 실행하고 input.json을 전달하는 코드</p>
]]></description>
        </item>
    </channel>
</rss>