# exe
타입스크립트에서 JAR, EXE 파일 실행 제안
내용 현재 국민은행이 JAVA를 사용해 WAR(java 웹서버)로 구현되어 있는 방식을 타입스크립트로 서버를 띄울 수 있도록 변경 제안 기존 문제점 이전 리눅스 서버로 옮기면서 WAR파일, 톰캣 서버에 대해 알아야 변경 가능 또한 디버깅을 할 때 이클립스를 열어 java문제인지 확인해야합니다. 때문에 JAVA 개념 및 디버깅을 알아야함(유지보수 어려움) 담당자가 변경될 때 이클립스, 자바, 톰캣 설정을 따로 해줘야 하는 부분에도 많은 시간 소요(인수인계 어려움) 회사는 JAVA, WAR를 따로 쓰지 않기 때문에 유지보수에 용이하지 않다고 생각 개선 java로 관리하는 서버를 타입스크립트로 사용하는 방법을 구현 타입스크립트만 알면 유지보수가 가능 개선 이력 ikvm로 jar파일을 c#으로 읽어오려고 했지만 jar -> dll이 제대로 변환되지 않는 문제때문에 실패(jar자체에서 다른 라이브러리를 사용하는데 그런 코어 참조 라이브러리까지 dll로
자바 .exe 빌드
실행 파일을 만들기 위해서는 프로젝트의 .jar 파일이 필요하다. .jar 파일이 제대로 실행되는 지 확인 exe 파일을 만들기 위한 툴들이 여러가지 있는데 나는 Lanuch4j를 사용했다. Basic > Output file 부분에 exe 파일 생성 위치 or 이름을 지정 jar 부분에 생성한 jar 파일 지정 Heade

[python] Pyinstaller 사용법
내가 만든 파이썬 파일을 exe 실행파일로 만들기 위해 pyinstaller라는 패키지를 사용할 수 있다. 1. install 2. 실행 여기서 --onefile 옵션을 넣아야 1개의 실행파일로 출력된다. 여기서 다 작성된 후에 실행을 해보면 특정 패키지를 제대로 불러오지 못해 에러나는 경우가 발생할 수 있는데 이때는 만들어진 .spec 파일의 datas 부분을 다음과 같이 추가하여 해결할 수 있다. 3. .spec 수정 나는 konlpy와 ckonlpy 부분에 에러가 나와서 위와같이 추가하였다.

url 을 exe 파일로 변환하기
url을 exe로 변환하기 나도 알고 싶지 않았다 cmd 창 열기 copy con 원하는파일이름.bat 엔터 여기서 원하는파일이름 은 그냥 자기가 원하는 파일 이름 아무거나!! 난 test 라고 지음 start url주소 엔터 ctrl-Z 나는 한차례 생성했던 거라 덮어쓰냐는 문구 나오는데 처음에 하면 저런 거 안나옴~ 이렇게 하면 bat 파일 생성됨. 파일 탐색기 가서 입력했던 bat 파일 찾아서 바탕화면으로 이동 필수는 아닌데, exe 파일로 변환할 때 찾기 쉬우라고 난 이동시킴 그 다음에 https:

Developer Command Prompt for VS 2022로 C++ 컴파일하기
Developer Command Prompt for VS 2022를 찾는다. 이건 Visual Studio(보라색)를 설치하면 자동으로 설치가 되는 것 같다. Visual Studio는 C++ 프로그래밍에 도움은 되는데, 너무 무거워서 프롬프트에서 개발하는 방법을 고민하고 있다. https://learn.microsoft.com/ko-kr/cpp/build/walkthrough-compiling-a-native-cpp-program-on-the-command-line?view=msvc-170 여기 링크를 통해 그렇게 할 수 있는 방법이 소개되어 있는 것 같다. 아직 안 해봐서.. 금요일날 동북고등학교 컴퓨터로 해봐야겠다. 
pyinstaller 설치 예시코드 및 해석 -n "새로 만들 파일이름": 그 이름으로 파일을 만든다 -i 아이콘이름.ico : 아이콘 모양으로 만들어준다 --onefile : 하나의 파일로 만들어준다 --noconsole : 처음 시작할 때 뜨는 콘솔창을 없애준다. pyinstaller 참조할파일이름.py : 참조할 파일을 통해 exe파일을 생성 실전형 참조사항 파일은 실행한 곳에 dist폴더 안에 생성된다. 여기서 나처럼 허접하게 py파일끼리 이어뒀으면 에러가 나서 다른 파일들도 다 복사해서 실행폴더 안에서 실행해 줘야한다

Pyinstaller로 만든 프로그램 자동 업데이트 적용기
최근 회사에서 파이썬을 이용한 솔루션 개발을 시작하게 됐다. 해당 솔루션 개발에 몇가지 조건이 있었는데, 크게 다음 두가지가 가장 중요했다. 파이썬으로 개발하고, 독립실행이 가능할 것 여타 프로그램처럼 새로운 버전이 릴리즈되면 자동으로 업데이트될 것 우선 첫번째 조건은 pyinstaller를 이용했기 때문에 큰 문제는 없던 것 같다. 내 경우에는 2번이 문제였는데, 사내에 별도의 업데이트 서버를 두지 않고 업데이트를 진행하는게 목표였기 때문에 여러가지 방법을 고민했던 것 같다. 내가 찾은 해결책은 다음과 같다. pyinstaller를 이용해 메인 프로그램 빌드 github REST API를 이용하여 업데이트를 체크하는 파이썬 코드 작성 pyinstaller를 이용해 업데이트 체커 빌드 이렇게 하면 별도의 업데이트 서버 없이, 인터넷만 연결되어 있으면 업데이트를 진행할 수 있다! 1. pyinstaller를 이용한

파이썬 .exe 파일을 파이썬 코드로 변환하기, .pyc 파일로 변환하기
Github: https://github.com/extremecoders-re/pyinstxtractor 에서 pyinstxtractor.py 파일을 다운로드하세요. 풀 .exe 파일과 pyinstxtractor.py를 한 곳에 놓습니다. 명령어를 입력합니다. 변환이 완료되었습니다.

Python .pyc 파일을 .py파일로 변환하는 방법
이 방법을 사용하면 Python 3.9, 3.10의 코드도 일부 볼 수 있습니다. Visual Studio를 설치합니다. C++ 옵션도 설치합니다. x86 x64 Cross Tools Command Prompt for VS (날짜)를 실행합니다. 이 명령어들을 차례로 입력합니다. 4. Debug 폴더에 들어갑니다. ![]

크롬에서 .exe 다운로드 차단
문제점 파일 다운로드 링크가 변경되어 로컬에서 테스트 후, 실서버에 배포하였다. 로컬호스트에서는 정상적으로 작동하였으나, 실서버 크롬 환경에서는 홈페이지 내 파일(.exe) 다운로드가 되지 않고 차단되는 현상이 발생함. 이유 크롬의 http URL 콘텐츠 다운로드 차단이 원인 참고 https://blog.chromium.org/2020/02/protecting-users-from-insecure.html 홈페이지는 https인데 다운로드 링크가 http로 시작하는 url이였다. 해결 다운로드 링크 주소를 http 에서 https로 변경

[Python] pyinstaller 설치 및 사용 (발생했던 오류)
🔔 pyinstaller 설치하기 당연히 python과 pip가 설치되어 있어야 한다. 설치 완료를 확인하고 싶으면 버전을 확인한다. 🔔 pyinstaller 사용하기 cmd(명령 프롬프트)를 실행한다. pyinstaller를 사용하고 싶은 파이썬 파일이 있는 디렉토리로 이동한다. 기본 명령어는 다음과 같다. > 명령어를 실행시키면 기본적으로 build, dist, spec이 생성된다. build와 dist는 폴더로 생성되는데 하위로 들어가보면 잡다한게 많다. 목적은 실행 파일이므로 dist 폴더 하위로 들어가 확인한다. 파이썬파일.exe를 실행시키면 콘솔창과 함께 실행된다. 🔔 pyinstaller 사용하기 (Option) 본인의 상황에 맞는 실행 파일 생성을 위해 여러 가지 옵션이 존재한다. 자주 사용했던 것 위주로 작성했다. ✔ 실행 파일명 설정 >위 옵션을 사용하여 exe 파일의 이름을 설정

[pyinstaller] pyinstaller 패키징 도움받은 링크 모음
Pyinstaller 패키징 때 PyQt ui 파일 포함시키는 방법(여러개 가능) > 패키징 여부에 따라 프로그램 실행 경로가 달라질 수 있기 때문에 절대 경로를 만들어줘야할 필요가 있다. > > 절대 경로는 .py 안에 작성되어야 한다. > > ui 이외에 다른 파일에도 적용되는 방법이다. Pyinstaller : 파이썬 배포를 위한 exe 실행 파일을 만드는 방법 > 상황별 옵션에 대한 정보가 있

[pyinstaller] pyinstaller 로 model 및 ui 파일을 포함하여 하나의 exe 파일 생성하기
하나의 exe 파일 생성이 필요한 이유 pyinstaller로 아무 옵션없이 exe 파일을 생성하면 여러 폴더가 생성되며 exe가 존재하는 폴더에 패키지들이 보여지게 된다. 패키지들을 유동적으로 관리하기 위해선 보여지는 것이 좋지만 배포 파일을 깔끔하게 보여주기 위해선 하나의 실행파일로 만들 필요가 있다. 필자가 구현한 프로그램은 GUI가 존재하며, model을 로드해야 하는 프로그램임을 미리 명시해둔다. 방법 및 결과 1. 포함해야 하는 파일 로드 경로 지정 하나의 파일로 생성시 실행 파일이 패키지 경로를 헷갈리지 않게 만들기 위해 실행 파일 위치를 시작 경로로 변경해줄 필요가 있다. 예를 들어 ".ui" 파일을 로드해야 하는 경우, 위와 같이 로드할 수 있도록 경로를 지정해주어야 한다. 2. 옵션 사용하여 하나의 파일 생성 -w : 콘솔 창을 띄우지 않음(GUI가 있을 시 유용) -onefile : 여러 파

[pyinstaller] pyinstaller로 exe 파일 생성하기
사용하는 이유 대학원에서 프로젝트를 수행할 때 인공지능 모델을 포팅하여 사용하는 일이 많다. 특히 사업 과제를 수행할 때 기업에 결과물을 컴팩트하게 보여주기 위해서 별다른 라이브러리를 설치할 필요 없이 실행파일만 클릭하면 되는 환경이 필요하다. Pyinstaller로 exe 파일을 생성하면 모델을 따로 다운받아서 폴더를 설정할 필요없이 압축 해제, 클릭 한번으로 결과를 확인할 수 있다. 방법 1. Pyinstaller 설치 이미 설치되어 있는 경우도 오류가 발생할 수 있으므로 사용 전에 upgrade 해주는 것이 좋다. 2. 명령어로 exe 파일 생성 이렇게 해서 무리 없이 생성되면 참 좋겠는데, 오류가 발생할 확률이 크다. 특히 인공지능 모델을 사용한 파일을 변환할 때는 부수적으로 사용된 폴더나 라이브러리가 많으므로 실행을 시도했을 때 원하는 결과가 생성되지 않을 수 있다. 발생 오류
MAC에서 exe 실행하기
exe 파일은 그냥 윈도우 가상머신으로 열었었지만 오류가 나서 싹 지워버리고 다른 방법을 사용하기 위해 쓰는 글입니다...😭😭😭 Homebrew로 설치 ❗️ 맥에서 exe 파일을 열기 위해서 이라는 프로그램을 설치할 수 있습니다. Homebrew로 진행합니다. 없다면 다운로드👇🏻 Homebrew 다운로드 설치되어 있다면 업데이트 먼저 해줍니다. 이제 Wineskin을 설치합니다. 설치가 정상적으로 되었다면 응용 프로그램에서 확인할 수 있습니다. Wineskin 사용법 ❗️ 이제 실행시켜 봅니다. 순서대로 따라주세요. 버튼을 눌러 활성화 시킵니다. 버튼을 눌러 엔진을 추가합니다. 가장 위에 있는

Python video player
자사 서비스 영상을 USB에 담아 고객에게 전달하려 한다. 이때, 영상자체를 재생해줄 플레이어를 만들어 exe파일로 만들어 준다면 영상전달효과가 더 극대화 될 것이란 생각에 자사 맞춤형 플레이어를 만들기로 했다. cutomer flow 영상 구매 USB 수령 USB속 EXE파일(영상 플레이어) 실행 영상감상 DEV condition 고객은 영상파일에 대한 직접적인 접근을 하지 못해야한다. 그러면서도 직접적으로 영상파일을 재생할수있어야한다 --> 영상파일을 줘야하는데 파일로의 직접적 접근은 막아야한다 오프라인 환경에서도 재생가능해야한다 --> 인터넷 끊겨도 재생가능 1,2번에 대한 solution으로 S3에 업로드한 파일을 QUrl로 online video streaming 한다. 파일에 lock을 걸어놓는다. IPFS 으로 파일을 분산저장시킨다음 플레이어로 분산된 미디어 조각 모은후 플레이 3번에 대한 solution
System Call - fork(), wait(), exec()
1. fork() : 프로세스 생성 위한 system call 2. wait() : 부모 프로세스가 자식 프로세스의 종료를 대기해야 하는 경우 사용 부모 프로세스는 wait() 시스템 콜을 호출하여 자식 프로세스가 종료될 때까지 자신의 실행을 잠시 중단하고, 자식 프로세스가 종료되면 wait()는 리턴함 wait() 에서는 항상 자식 프로세스가 먼저 출력을 수행함 -> 자식 프로세스가 부모 프로세스보다 먼저 실행되면 자식 프로세스가 먼저 출력됨 -> 부모 프로세스가 자식 프로세스보다 먼저 실행되면 곧바로 wait() 호출 -> wait() 시스템 콜은 자식 프로세스가 종료될 때까지 리턴하지 않음 -> 부모 프로세스가 먼저 실행되더라도, 자식 프로세스가 종료된 후 wait()가 리턴하고, 그런 다음 부모 프로세스가 출력함 3. exec() : 자기 자신이 아닌 다른 프로그램을 실행해야 할 때 사용 ! fork() 시스템 콜은 자신의 복사본을 생

[210521] exe 파일 실행하기
Critical Section 쓰면서 세 번째 Thread로는 notepad를 여는 예제 WineExec라는 함수를 windows dll 파일인 kernel32.dll에서 불러와 사용

Python으로 업비트 시세 불러오는 프로그램 구현완료
코인충 나는 코인충이다. 어렸을때부터 돈이라는 가치관은 내 인생의 핵심이었고 지금도 역시 그렇다. 돈을 좋아하고 2018년부터는 코인을 해오면서 돈을 조금 벌었다. 자연스럽게 자동매매등에 대해 관심을 가지게 되었고 파이썬으로 간단하게 로직을 짜 웹소켓을 통해 API를 받아오는 방식으로 시세에 관해 구현하였다. 이런 식으로 필요한 코인들에 대해 요청을 해 정보를 받아오는 개념이다. .Py -> exe로 구현 파이썬 파일을 exe로 만들어보고 싶었는데 이 과정이 생각보다 굉장히 오래 걸렸다. 아나콘다로 구현했던 가상환경에서 자꾸 PyUpbit 이 모듈을 불러오는데 실패했었다. 결론은 아주 쉽게 성공했고 디렉토리 형태로 구현해내는데 성공했다.  하나의 파일로 만들어주는 상황이 발생한다. 두번째로는 윈도우에서 Python 파일을 PyInstaller를 통해 EXE로 만들고나서 실행하면 module not found에러가 생긴다. 1. 본 문제는 중간 파일로 생기는 .spec 파일에서 hiddenimports에 찾지 못한 모듈들을 차례대로 넣어준다 >a = Analysis(['run.py'], pathex=['C:\\???','C:\\???\\???'], binaries=[],