MINERVA/ETC 2022. 3. 5. 10:49
반응형

최근 Python을 주 언어로 하는 프로젝트를 완료하고, 진행 중 정리를 해야겠다는 내용을 오늘에서야 정리합니다.

 

개인적으로 약 20년 넘게 개발을 하면서, 프로젝트의 특성에 따라 적절한 개발 언어, 기술, 그리고 툴을 선택 또는 학습하고 진행하고 있습니다.(C/C++,C#, JAVA, Javascript, Python, PHP, Solidity etc)

 

하지만, 언제 부터인지는 기억이 나지 않지만(개인적인 경험에는 java가 처음이었던 것 기억됨), 최근 언어마다 다양한 pakage manager가 지원되고 있어, 협업을 위해서 패키지 관리자 부분도 프로젝트 초기에 가볍게(?) 이야기 되고 있습니다. 그래서, 간단하게 해당 내용을 정리하였습니다.

 

1. Pakage manager란?

- 프로그래밍 언어적인 측면에서는 프로젝트(개발)의 환경을 쉽게 만들어주고, 편리하게 관리하기 위한 도구라고 보면됩니다. (이러한 도구(?)가 없다면, 프로젝트 시작전에 각 모듈의 유효한 dependecy등을 수작업으로 해주어야 함)

- 시스템 어드민 측면에서는 시스템에 패키지(소프트웨어)의 다운로드, 설치 그리고 관리를 의미하였습니다.

 

2. 각 언어별 Pakage manager

1) Java - Maven, Gradle 이 있지만, 현재는 Maven이 주를 이루고 있음

2) JavaScript - npm

3) C# - nuget

4) C/C++ - vcpkg(https://choiwonwoo.tistory.com/entry/vcpkg-Please-install-the-English-language-pack?category=267468)

5) PHP - Composer

6) Python - pip, pypi, poetry

 

3. OS 별 Pakage manager

1) Mac: Homebrew

2) Debian: dbpkg, apt

3) Redhat: rpm, yum

4) Window: winget(https://docs.microsoft.com/ko-kr/windows/package-manager/winget/)

 

4. 정리

- 아주 초기에는 일일이 라이브러리를 다운받아 설치를 하여, 테스트하고 패스등의 설정을 하였지만, 근래 개발에서는 가능한 패키지 관리자를 통해서, 일관되게 관리 하여 생산성과 효율을 높이고자 합니다. 하지만, 너무 편해지다 보면 기초적인 라이브러리의 설정을 어려워하는 쥬니어 개발자를 가끔 보게 되면서 놀라곤 합니다. 아주 가끔은 한땀, 한땀 설정및 빌드를 하면서 테스트 코드 및 library version dependency 문제등을 경험하다 보면, 예상치 못한 가치와 경험이 쌓이곤합니다.

 

반응형
posted by choiwonwoo
:
MINERVA/TechInfo 2022. 2. 18. 09:56
반응형

제 기억이 분명히 유료였던것으로 기억하는데, 공짜로 풀렸네요.

꼭 설치해서 사용해보세요. 정말로 소리가 다른것을 느끼실수 있어요.

 

https://www.fxsound.com/

 

Boost Volume and Sound Quality on Your PC - FxSound

This new software boosts sound quality, volume, clarity and bass on your PC. FxSound will make your audio jump out of your speakers.

www.fxsound.com

# 절대강추 #무료

반응형
posted by choiwonwoo
:
블럭체인 2022. 1. 26. 16:48
반응형

# 초기에는 '코인(암호화폐) vs 토큰(Token)'는 구분이 나에게 힘들었습니다.

그래서, 해당 내용을 정리한 메모내용이 발견(?)되어 기록으로 남기고자 합니다.

[차이 설명]
1. 기술적으로 독자적인 블럭체인 메인넷(네트워크)을 가지고 있으면 "코인", 없으면 "토큰"

2. 독자적인 메인넷 코인은 채굴(mining)되어 생산되고, 토큰은 미리 발행되어 뿌려짐

3. 토큰 발행을 ICO라고 하는데, 이더리움 메인넷을 기반으로 하는 경우는 전세계 표준인 

      ERC-20(Ethereum Request for Comment)을 기반으로 함
     이 기준을 준수한다는 것은 DAPP(Decentralized Application, 탈중앙화 응용 프로그램)에서 사용할 수 있는

        토큰을  의미하게 됨

4. 블럭체인 메인넷 코인: BTC, ETH, EOS, TRX, QTUM, STEEM, NEM등

5. 메인넷의 존재는 자체적인 생태계(예:독자적인 사업성), 기술력 그리고 자본력을 의미함
그래서, 처음부터 코인으로 존재하기는 어렵고, 처음에는 토큰에서 코인으로 진화(?)함


6. 진화: 토큰에서 코인으로
1) 기존 메인넷을 기반으로 토큰 제작(DApp을 활용해 개발)과  ICO를 진행(White paper 발행)
2) 블럭체인 네트워크 개발, 그리고 테스트넷 진행(Coin으로 발전할수 있는지 테스트 하는 것)
3) 테스트넷이 성공하면, 메인넷을 출시: 독자적인 생태계와 독립적인 지갑을 생성이 가능
4) 메인넷성공하면, 토큰에서 코인으로 전환됨.

반응형
posted by choiwonwoo
: