MINERVA/Python 2023. 10. 5. 21:57
반응형

역사(?)를 가지고 있는 있는 소프트웨어의 경우 아직도 32bit SDK만을 제공하는 경우가 있음(예: 증권 HTS등)

그래서, 개발을 진행하기 위해서는 32bit 환경이 필요함

 

1. Anaconda Prompt 실행: OS 환경 확인

> conda info

platform : win-64 <---- 64bit os 환경 확인

 

2. 32bit OS 환경으로 변경

>set CONDA_FORCE_32BIT=1

32 bit 변경 확인

platform : win-32 <---- 32bit os 환경 확인

 

cf) 참고: 환경을 다시 64bit로 전환할때는 set CONDA_FORCE_32BIT=0 실행

 

3. 32bit 가상환경 만들기

> conda create --name <가상환경명>

 

32 bit 가상 환경 생성

4. 생성된 가상환경 확인

>conda env list

 

5. 생성된 가상환경 진입

> conda activate mm32Bit

 

반응형
posted by choiwonwoo
:
MINERVA/C_CPP 2023. 9. 18. 14:59
반응형

며칠간 유니티 가격정책(https://www.asiatime.co.kr/article/20230918500098#_mobwcvr)

 

[e와글] '가격 정책 논란'에 백기 든 유니티⋯ 개발자들은 여전히 '냉소'

유니티 테크놀러지 수수료 정책 변경 발표 유니티 "고객 피드백 받아 정책을 변경할 예정" 누리꾼 "잃어버린 신뢰 되찾기 쉽지 않아 보여" [아시아타임즈=황수영 기자] 게임 설치 횟수를 기준으

www.asiatime.co.kr

 

때문에 논란(?)이 있었다.

 

그래서, 급하게 현재 프로젝트 사용중인 QT에 대한 라이선스에 대해서 다시 점검을 하였습니다.

 

1. 라이선스

- 이해하기 쉽게 관점을 "내 코드(제품)를 오픈해야 하는가?"로 설정, 오픈하기 싫으면 비용을 지불

 

1.1 GPL (라이센스 라이브리) 사용
- 상용, 비상용 여부를 떠나서 부분 공개가 아닌 2차 저작물 전체 공개가 원칙
- 사용방법(정적링크과 동적링크)에 상관없이 2차 저작물의 전체 소스공개의 의무가 있음. 
(단, 배포하지 않는다면, 즉, 나 혼자 사용한다면 아무도 모르는데 공개할 필요 없겠죠^^)

 

경험담)

웹서비스 개발 초기에 GPL 라이선스때문에 이슈(?)가 있었음
즉, GPL이 적용된 componet를 사용하여 웹서비스를 개발하면, 웹서비스 코드 전체 공개의무?
결론은 공개할 필요 없다. 왜냐면, 웹서비스를 사용하는 사용자 PC에 배포되는 것이 아니다.
하지만, 지금은 AGPL(Affero General Public License), OSL(Open Software License)등 라이센스가 생기면서, 
웹서비스 개발에도 배포로 보아 코드 전체 공개 의무가 생김(잘 살펴봐야 함)

결론, GPL은 절대사용하지 말아라.

 

1.2 LGPL (라이선스 라이브리) 사용
- GPL이 너무 타이트(?)하다 보니, 사용방법에 따라 공개의무 결정과 변경된 부분만 공개하는 LGPL 라이선스 생김
- 사용방법을 동적링크로만 한다면, 소스 공개 의미가 없음
하지만, 정적링크로 사용한다면, 소스 공개 의무는 없지만, 모든 OBJECT 코드를 제공해야함(보안상 문제)

 

2. QT 라이센스

- https://www.qt.io/licensing/open-source-lgpl-obligations

- 라이선스 정책(듀얼라이선스):  GPL-3.0, LGPL-3.0, 상업(commercial)
- GPL-3.0 사용: 개발된 모든 코드(내코드+라이브러리코드) 공개 의무 발생
- LGPL-3.0 사용: 동적링크로만 사용한다면 코드 공개 의무 없음, 
단, QT 라이브러리를 수정하여 사용하면, 수정된 부분에 대한 공개의무

- 결론: LGPL만 동적으로 사용하자.

 

3. QT LGPL 사용방법

- https://www.qt.io/product/features#js-6-3

 

Qt Features, Framework Essentials, Modules, Tools & Add-Ons

See the features of the latest Qt version to see new functionality, which development platforms, operating systems and coding languages are supported.

www.qt.io

 

- 위와 같이 라이선스 모델을 확인하고 개발을 진행하면 최대한 실수를 줄일수 있음

 

 

 

참고: https://www.olis.or.kr/license/licenseOSI.do?mapcode=010001&page=1. 

 

 

 

 

반응형
posted by choiwonwoo
:
MINERVA/Python 2023. 9. 16. 18:24
반응형

1. 기능 설명

- conda와 pip는 패키지 관리를 한다.

- pip install <패키지명> , conda install -c  conda-forge <패키지명> 

- pip repository는 https://pypi.org/이고, conda repository는 https://conda-forge.org/, https://repo.anaconda.com/pkgs/이다.

 

2. 차이점

- pip와 conda는 패키지를 가져오는 곳이 다름(당연함^^)

- 패키지 안정성(?)은 conda가 더 좋음, pip는 가끔 소스를 내려받아 cpp빌드를 하면서 문제가 발생하지만,conda는 os환경에 적합하게 미리 빌드된 패키지를 설치.(conda는 패키지 빌드시 의존성을 고려하기 때문에 사용하기 쉽고, 일괄 업데이트도 쉽다.(conda update --all))

- 하지만, conda는 pip보다 오래된(?) 버젼일수 있음

 

2. 정리

- anaconda 환경에는 가급적 pip를 사용하지 않는 것이 좋다. 왜냐면, 패키지 의존성(Dependency)에 문제 생김

- conda를 통해서 최대한 설치하고, 없으면 pip를 하용하지만, 추후 conda를 통해서 지원한다면, pip를 통해서 설치된 버젼을 제거하고, conda를 통해서 재설치를 추천 함.

 

 

반응형
posted by choiwonwoo
: