728x90
반응형

어제 Tauri + Svelte 기반의 코인 매매 앱을 만들겠다고 첫글을 올렸다.

검색을 해보다 보니내가 만들 컨셉에 더 맞는 조합이 보여서 추가적으로 브렌치를 따기로 했다.

혹시 돈을 많이 벌기 위해 만드는 거냐고 생각할 수 있겠지만 매매프로그램 만드는게 쉽지 않다. 단순히 포트폴리오 정도로 생각하는게 더 적당할 듯 하다. 혹시(?) 잘되면 뭐 대박!!

 

tauri, yew에 대한 자세한 설명은 별도 카테고리에 설명을 하기로 하고 일단 개발환경 설치 부터 필요기술들에 대해서 하나씩 작성해보기로 하겠다. yew (Webassembly : WASM) 기반의 비동기 프로그래밍을 하기 위한 프론트엔드 프레임워크이다. 아직 초창기 버전이라 커뮤니티도 형성이 되어있지 않고 부족한 부분이 많겠지만 만들려고 하는 컨셉에는 많은 기능의 UI 컨트롤들이 필요하지 않고 성능과 안정성이 더 우선이기 때문에 큰 문제는 없지 않을까 싶다.

Tauri + Yew 기반 실행 화면

https://www.rust-lang.org

 

Rust Programming Language

A language empowering everyone to build reliable and efficient software.

www.rust-lang.org

https://tauri.app/ko/

 

Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps

Tauri는 주요 데스크톱 플랫폼을 위한 작고 불티나게 빠른 바이너리를 만드는 프레임워크입니다. 개발자는 사용자 인터페이스를 위해 HTML, JS, CSS로 컴파일되는 그 어떤 프론트엔드 프레임워크라

tauri.app

https://yew.rs

 

What is Yew? | Yew

Yew is a modern Rust framework for creating multi-threaded

yew.rs

 

Bye~~

728x90
728x90
반응형

Tauri 소개

Tauri는 기본 웹기술(프론트엔드)과 Rust 프로그래밍 언어를 활용해 플랫폼 간 응용 프로그램을 빠르게 만들 수 있는 프레임워크다.

Rust를 기반으로 개발되어 메모리 안정성과 성능이 우수하며 거의 모든 프론트엔드 프레임워크와 호환된다.

Windows, macOS, Linux 등 데스크탑 응용프로그램을 만들수 있으며 조만간 모바일에서도 사용이 가능하게 진화중이다.

2022-06-15일에 정식버전(1.0)이 런칭되었다.
https://tauri.app/releases

 

Releases | Tauri Apps

View releases on GitHub

tauri.app

그리고 2022-09-16에 1.1.1 버전으로 빠르게 버전업하고 있는거 보니 개발진들의 노고가 느껴지는것 같다.

게다가 이번에 Tauri-egui 0.1 버전이 같이 런칭되었는데 Tauri용 GUI 라이브러리이다.

아직은 초기버전이라 안정성을 기대할 수 없지만 너무 기대된다. 어떻게 진화하고 발전해나갈지.

사이트에 한국어 선택도 있다!! 올레!!

사이트 자체에 한국어 언어 선택도 있으니 영어에 부담을 느끼자 않고도 Tauri의 기술적인 내용을 확인해 볼 수 있다.

Tuari 공식 홈페이지. GitHub

https://tauri.app/

 

Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps

Tauri is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface.

tauri.app

https://github.com/tauri-apps/tauri

 

GitHub - tauri-apps/tauri: Build smaller, faster, and more secure desktop applications with a web frontend.

Build smaller, faster, and more secure desktop applications with a web frontend. - GitHub - tauri-apps/tauri: Build smaller, faster, and more secure desktop applications with a web frontend.

github.com

 

특징 소개

1. 브라운필드의 단어적 의미는 현재 사용되지는 않지만 이전에 개발된 토지를 의미한다.

이 의미는 뭐냐면 현재 학습해서 사용중인 거의 모든 종류의 프론트엔드 기술을 접목시켜서 사용할 수 있다는 의미이다.

바닐라JS, HTML/CSS, React, VueJs, Svelte, Yew, Next.js 등등 

게다가 기존에 작성된 프론트엔드 프로젝트를 연동할 수도 있다.

2. Rust 언어가 가지고 있는 메모리 안전성과 속도로 모든 종류의 기존공격을 간단하게 없앨 수 있다.

Tauri 개발진들이 보안에 관해서 많은 신경을 쓰는것 같다. 보안에 대한 자세한 내용은 더 알아보기 버튼을 클릭해 자세히 확인하도록 하자.

3. MIT 혹은 MIT/Apache2.0 라이션스 적용으로 변경 및 재배포가 가능하다.

4. 번들크기가 Electron에 비해 현저히 작다.

5. 크로스 플랫폼으로 개발이 가능하다. (단 모바일 버전은 출시 예정임)

 

6. 성능과 보안을 중요시 하는 Rust 언어로 개발되었고 Rust의 성장과 함께  빠르게 성장하고 있다.

 

Authme라는 크로스플랫폼 2FA앱으로 항목별 비교

  • 번들 : OS의 웹뷰를 사용하는 Tauri가 훨씬 작음. 2.5MB vs. 85MB
  • 시작시간 : Tauri ~2초 vs. Electron ~4초
  • 램 사용량 :
    • 윈도우에서는 Tauri 80MB, Electron 120MB로 큰 차이 없음
    • 리눅스에서는 Tauri 80MB, Electron 쪽에 뭔가 많이 떠서 500MB 이상으로 큰 차이가 남
  • AppBackend : Electron은 Node.js 런타임을 사용하므로 JavaScript 코딩이면 되지만, Tauri는 Rust 코딩이 필요함
    • Tauri 로드맵에서는 Python, C++, Deno도 지원 예정이라고
  • 렌더링 : Electron은 윈/맥/리눅스 모두 크로미엄을 이용, Tauri는 윈(Edge WebView2)/리눅스(WebKitGTK)/맥(WebKit)
    • 브라우저별 차이가 있을 수 있어서, Tauri에서는 폴리필을 이용해야 할 경우가 있음
  • 보안 : Tauri는 매우 많은 보안 기능들을 내장하여 기본적으로 안전
  • 자동 업데이트 :
    • Tauri쪽이 더 간단. 내장 Updater가 있음(직접 업데이트 서버를 운영해야한다는 단점은 있음)
    • Electron은 electron-updater가 많이 쓰임. 장점은 GitHub 릴리즈에서 직접 바이너리를 가져오는게 가능해서 편리함
  • 개발자 경험 :
    • Tauri는 그냥 CLI만 설치하면 모든게 바로 사용 가능(핫 리로딩, 번들링, 앱 생성등)
    • Electron은 그런거 없이 프레임워크 자체만 줌. 핫 리로딩/번들링을 알아서 해야함
    • Tauri의 가장 큰 장점은 모든 웹프레임워크와 호환된다는 것

결론

  • Tauri를 선택
  • 아직 부족한 부분이 있지만, 몇년내에 Tauri팀이 Electron을 따라잡을 것
  • 특히 기대하는 것은 Deno를 백엔드로 사용가능하게 되는 것과 더 편한 자동 업데이트 및 iOS/Android 지원
728x90
728x90
반응형

기대하고 있던 Tauri 가 1.0  정식버전이 릴리즈 되었다. -> 1.1 버전으로 최근에 업그레이드 되었네.

Electron의 무거움에 배울까말까 고민하고 있던 터엿는데 Tauri가 출시되면서 학습할 동기를 만들어준것 같다.

그래서 학습용으로 뭘 만들까 고민을 하다가 코인 매매앱을 만들어 보기로 했다.

이름은 심플하게 GraduateApp-TAURI 이다. 코인으로 졸업하게 해주세요 젭알!!! ㅠ.ㅠ

농담이고 일단 많은 기술적인 난제가 있을것 같긴한데 하나하나 만들어가면서 방법을 찾아보도록 하겠다.

개발초기 몇년간은 웹쪽에 관심이 있다가 너무 급여가 팍팍한데다가 정적인 페이지 기술의 한계가 보여서 CS(C#, JAVA)계열로 넘어갔지만 웹에 대한 관심은 항상 있었다. 그래서 하나 배워서 다 같이 연동해서 써먹을 수 있는게 없을까 항상 고민을 했는데 최근에 찾은 언어가 Rust 이다. 시스템 프로그래밍, 웹, 모바일, 데스크탑 프로그래밍  모두 가능하도록 계속 진화하고 있는데 지켜보고 있으면 뿌듯해진다. 내 주력언어가 되기를 기원하며 조금씩 학습을 진행하고 있다.

하지만 Rust는 아직 비주류 언어라서 대한민국에서 취업을 위해 배우기에는 시간적 리스크가 있고 학습곡선도 높기때문에 일반적인 업체 취업용으로는 추천하지 않는다. 다만 긴 호흡을 가지고 꾸준히 배우고 싶다면 한 번 도전해도 좋지 않을까 싶다. 그리고 Svelte도 핫한 언어이긴 하지만 취업용으로는 아직 추천하지 않는다.

이 메뉴 카테고리는 Tauri Svelte Vite 를 가지고 개인적인 프로그래밍을 하면서 학습내용을 정리하고 공유하는 곳이기에 Rust에 대한 사설은 더 하지 않겠다. Rust는 별도 메뉴에서 다룰 예정이다.

===============================================

Tauri가 뭔가?  황소!!

https://www.tauri.app

 

Build smaller, faster, and more secure desktop applications with a web frontend | Tauri Apps

Tauri is a framework for building tiny, blazing fast binaries for all major desktop platforms. Developers can integrate any front-end framework that compiles to HTML, JS and CSS for building their user interface.

tauri.app

https://vitejs.dev/

 

Vite

Next Generation Frontend Tooling

vitejs.dev

https://svelte.dev/

 

Svelte • Cybernetically enhanced web apps

Svelte is a radical new approach to building user interfaces. Whereas traditional frameworks like React and Vue do the bulk of their work in the browser, Svelte shifts that work into a compile step that happens when you build your app. Instead of using tec

svelte.dev

 

짜잔~~

개발에 사용할 굵직한 기술 3가지이다.

이렇게 3가지를 선택한 이유는 간단하다.

코인앱을 만들기에 속도적인 부분이 좀 중요한 포인트기 때문이다.

처음에는 Electron + Viewjs or React를 고민했는데 대체 할수 있고 성능적인 부분도 우위에 잇는 Tauri와 Svelte가 나타나서 냉큼 바꿔버렸다.

하나씩 기술적인 내용을 확인하고 개발목표와 목차들을 구성해 보도록 하자.

 

Bye!!

728x90
728x90
반응형

함수형 프로그래밍에 대한 개념을 이해하고 정리하여 문서로 남기기위해 검색을 하는 도중 다음과 같은 좋은 변역 블로그를 발견했다. 관심있으시면 한번 읽어보고 개념을 잡아보기 바란다.

프로그래밍 패러다임은 크게 2가지로 분류되고 세부적으로 분류하면 3가지로 분류할수 있다.

절차지향, 객체지향, 함수형 프로그래밍

각 패러다임의 단점들을 보완하기위해 순차적으로 발전된 형태로 진화하고 있는것인데 그렇다고해서 오른쪽의 것이 항상 좋은것은 아니다. 각각의 장단점이 존재하기 때문에 프로젝트 규모나 성향에 따라서 잘 선택해서 사용해야 한다.

아직 함수형 프로그래밍에 대해 익숙하지 않은데다가 어떤 단점이 있는지 조사하고 확인 중이라 함수형 프로그래밍이 다른것 보다는 좋다고 말할 수는 없을것 같은데 아래의 글들을 읽고나니 어느정도 감이 잡힌다.

블로그 주인장의 다음 요약글 중에 CPU에 관한 글이 앞으로 함수형 프로그래밍 패러다임을 배워야 할 당위성 중에 가장 와 닫는다. 그리고 관심있게 공부하고 있는 RUST 언어의 특성 중 가변 속성이 아닌 불변 속성을 지향 하는 이유도 이해할 수 있었다.

https://front-end.me/javascript/functional-programming-6/ 원문 중에서

단기간 학습해서 사용하겠다는 개념으로 접근할게 아니라 긴 호흡으로 이해하고 연습하고 적용해야 할 것 같아보인다. 

 

https://front-end.me/javascript/functional-programming-1/

 

[번역] 함수형 프로그래밍 전문가 되기 (Part 1)

이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 1) 를 번역한 게시물입니다. Thank you Charles Scalfani! Thanks to your writing, I can grow further as a developer…

front-end.me

https://front-end.me/javascript/functional-programming-2/

 

[번역] 함수형 프로그래밍 전문가 되기 (Part 2)

이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 2)를 번역한 게시물입니다. Thank you Charles Scalfani! Thanks to your writing, I can grow further as a developer. 함수형 프로그래밍의 개념을 이해하기

front-end.me

https://front-end.me/javascript/functional-programming-3/

 

[번역] 함수형 프로그래밍 전문가 되기 (Part 3)

이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 3)를 번역한 게시물입니다.  Thank you Charles Scalfani! Thanks to your writing, I can grow further as a developer. 함수형 프로그래밍의 개념을 이해하기

front-end.me

https://front-end.me/javascript/functional-programming-4/

 

[번역] 함수형 프로그래밍 전문가 되기 (Part 4)

이 글은 Charles Scalfani의So You Want to be a Functional Programmer (Part 4)를 번역한 게시물입니다.  Thank you Charles Scalfani! Thanks to your writing, I can grow further as a developer. 함수형 프로그래밍의 개념을 이해하기

front-end.me

https://front-end.me/javascript/functional-programming-5/

 

[번역] 함수형 프로그래밍 전문가 되기 (Part 5)

이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 5)를 번역한 게시물입니다. Thank you Charles Scalfani! Thanks to your writing, I can grow further as a developer. 함수형 프로그래밍의 개념을 이해하기

front-end.me

https://front-end.me/javascript/functional-programming-6/

 

[번역] 함수형 프로그래밍 전문가 되기 (Part 6)

이 글은 Charles Scalfani의 So You Want to be a Functional Programmer (Part 6)를 번역한 게시물입니다. Thank you Charles Scalfani! Thanks to your writing, I can grow further as a developer. 함수형 프로그래밍 컨셉들을 이해하는

front-end.me

 

 

https://onlyfor-me-blog.tistory.com/431

 

함수형 프로그래밍이란?

Rxjava, RxAndroid를 공부하는 중인데 둘을 공부하다 보면 함수형 프로그래밍이란 말이 매우 자주 보이고, Rx를 공부하려면 함수형 프로그래밍에 대한 이해가 필요해 보여 따로 정리해둔다. https://ko.w

onlyfor-me-blog.tistory.com

 

https://okayoon.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%ED%8C%A8%EB%9F%AC%EB%8B%A4%EC%9E%84%EB%AA%85%EB%A0%B9%ED%98%95-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%A0%88%EC%9E%90%EC%A0%81-%EA%B0%9D%EC%B1%84%EC%A7%80%ED%96%A5-%EC%84%A0%EC%96%B8%ED%98%95-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%ED%95%A8%EC%88%98%ED%98%95%EC%9D%98-%EC%A0%95%EC%9D%98-%ED%8A%B9%EC%A7%95-%EB%B9%84%EA%B5%90%EB%A5%BC-%EA%B0%84%EB%8B%A8%ED%9E%88-%EC%95%8C%EC%95%84%EA%B0%80%EC%9E%90

 

프로그래밍 패러다임(명령형 프로그램(절자적, 객채지향), 선언형 프로그램(함수형))의 정의, 특

프로그래밍의 관점을 갖게하고 결정하는 역할인 프로그램의 패러다임에 대해 알아보겠습니다. 발전하게 된 순서는 '절차적 -> 객체지향 -> 함수형'으로 단점들을 극복을 위해 나왔다고 합니다.

okayoon.tistory.com

 

728x90
728x90
반응형
동시성 : 한번에 두 가지 이상의 작업을 수행
> 멀티스레딩 : 다수의 실행 스레드를 사용하는 동시성의 한 형태 (동시성의 한 형태)
> 병렬 처리 : 많은 작업을 여러 스레드에 나눠서 동시에 수행 (멀티스레딩의 한 형태)
> 비동기 프로그래밍 : 불필요한 스레드의 사용을 피하려고 Future나 Callback을 사용 (동시성의 한 형태)
> 리액티브 프로그래밍 : 애플리케이션의 이벤트에 대응하게 하는 선언형 프로그래밍 형식

 

흠.. 일단 만들어야 할게 급해서 정리는 차후로 미루도록 하겠다.

끄으으응.

 

728x90
728x90
반응형

아시아 사향 고양이

네이버 검색

 

C# 동시성 프로그래밍 2/e : 네이버 통합검색

'C# 동시성 프로그래밍 2/e'의 네이버 통합검색 결과입니다.

search.naver.com

 

특정 업체 소개할 생각이 없으므로 네이버 검색으로 대체한다.

 

책을 읽을때  본문이전에 책에대해서 설명해 놓은 글을 꼼꼼히 읽어보는 편이다.

- 책이 담고 있는 내용 요약

- 구독자의 필요지식 수준

- 책을 쓴 이유

- 책의 목차와 구성

 

책을 읽을 방향성과 내가 지금 이 책을 읽을 단계인가를 확인하는게 완독의 지름길이기 때문이다.

이 책은 최신 동시성 기법만을 다루고 있다. 따라서 기존의 동시성 기법에 대한 지식이 필요하다면 다른 서적이나 정보로 습득하자, 병렬, 비동기, 리액티브 프로그래밍 등 다양한 종류의 동시성을 다루지만, 다른 책과 온라인 자료에서 충분히 다루고 있는 전통적인 기법은 다루지 않는다.

이 책을 읽는 독자는 제네릭컬렉션, 열거자, LINQ 정도를 이해할 정도의 닷넷 경험자가 대상이다. 멀티스레딩 또는 비동기 프로그래밍에 대한 지식은 전혀 필요하지 않다.

동시성은 모든 애플리케이션에서 유용하다. 데스크탑, 모바일, 서버 애플리케이션에 상관없이 이제 동시성은 전반적인 요구 사항이다. 이 책의 내용을 활용한다면 더 빨리 반응하는 사용자 인터페이스, 규모 변경이 더 쉬운 서버를 만들 수 있다. 이미 동시성은 어디에나 존재하는 상황에 이르렀고, 이제 동시성 기법의 이해와 활용은 전문 개발자의 필수 지식이라고 할수 있다.

- 책의 서문 중에서

 

1장 : 병렬, 비동기, 리액티브, 데이터 흐름 의 동시성 소개

2-6장 : 1장에서 소개된 동시성을 하나하나 철저히 설명

7-14장 : 각각 동시성의 특정 측면을 다룸, 일반적인 동시성 문제의 해결책에 관한 참고 자료

 

동시성에 익숙한 독자들도 1장은 읽어보길 권장.

 

동시성에 대한 더 깊은 지식이 필요하다면 다음 링크를 참고

  • 병렬 프로그래밍에 관한 최고의 참고서

http://bit.ly/parallel-prog 에서 무료배포되는 "Parallel Programming with Microsoft .NET

> 퓨처에 관한 내용은 비동기 코드를 사용하게

> 파이프라인에 관한 내용은 채널 또는 TPL 데이터 흐름을 사용하게 변경하면 좋을것 같다

 

코드예제 다운로드

https://oreil.ly/concur-c-ckbk2 

 

Concurrency in C# Cookbook, 2nd Edition

If you’re one of many developers still uncertain about concurrent and multithreaded development, this practical cookbook will change your mind. With more than 85 code-rich recipes in this updated second … - Selection from Concurrency in C# Cookbook, 2n

www.oreilly.com

https://github.com/AcornPublishing/concurrency-c-cookbook 

 

GitHub - AcornPublishing/concurrency-c-cookbook: C# 동시성 프로그래밍 2/e

C# 동시성 프로그래밍 2/e. Contribute to AcornPublishing/concurrency-c-cookbook development by creating an account on GitHub.

github.com

 

독자의견

오탈자 : https://oreil.ly/concur-c-ckbk2 

 

 

Concurrency in C# Cookbook, 2nd Edition

If you’re one of many developers still uncertain about concurrent and multithreaded development, this practical cookbook will change your mind. With more than 85 code-rich recipes in this updated second … - Selection from Concurrency in C# Cookbook, 2n

www.oreilly.com

오탈자(한글) : http://www.acornpub.co.kr/book/concurrency-c-cookbook 

 

C# 동시성 프로그래밍 2/e

비동기, 병렬 처리, 데이터 흐름, 멀티스레딩 등 최신 닷넷 프레임워크와 C# 언어가 제공하는 동시성 기술과 함께 리액티브 프로그래밍, 동시성 기술의 상호운용, 동시 컬렉션, 테스트, 취소 기능

www.acornpub.co.kr

이메일 : permissions@orelly.com

728x90
728x90
반응형
728x90
728x90
반응형
728x90
728x90
반응형

Golang 과 사용할 IDE 를 설치했으면 이제 정상적으로 실행되는지 체크해보자

간단한 "Hello 블라블라블라" 를 출력해보도록 한다.

 

D:\Go_Sample 디렉토리를 생성한다.

VSCode를 실행해서 "파일" > "폴더열기"

VSCode "터미널"

go mod init app 실행

go.mod 파일 생성

파일추가 > main.go 파일 생성

package main

import "fmt"

func main() {
	fmt.Println("Hello 블라블라블라")
}

저장 후 F5 나 Ctrl + F5 로 실행

 

하단 디버그 콘솔 에서 출력 확인

 

go 파일 생성하면 추가적인 모듈 설치가 호출되는데 3가지 모두 설치하도록 한다.

Go for Visual Studio Code

GoPLS

dlv-dap

https://blog.naver.com/techshare/222440203994

 

윈도우 환경에서 Visual Studio Code + Go (Zip) 개발 환경 구성

예전에 Go 언어를 위한 LiteIDE에서의 개발 환경을 다뤘었는데요, go install: no install location f...

blog.naver.com

 

위의 링크에서 좀더 자세하게 설명해놓았으니 참고해서 설치하도록 한다.

728x90
728x90
반응형
수많은 개발언어들이 있다.

 

그 수많은 프로그램 언어 중 어떤 언어를 배워야 좀더 가치 있을까는 프로그래머들이 항상 고민되는 부분이다.

왜냐하면 하나의 언어를 습득한다는게 수박 겉핥기식 Hello World 출력이라면 크게 부담되는 수준은 아니지만

이력서에 끄적일 정도의 기술력을 가지기 위해서는 꽤 많은 노력과 시간이 필요하기 때문이다.

 

오랫동안 HTML CSS Javascript Java C# Python 을 다루었는데 요즘의 트랜디한 언어를 배워야겠다고 생각되기도 하고 현재 개발하는 부분에 필요할것 같은 언어 대상을 물색해보고 있었다.

 

******************************************************

언어라는게 각각의 컨셉에 따른 특징과 장점 단점들을 가지고 있기는 하지만 언어라는 자체의 큰 틀을 완전히 벗어날 수 없다. 그 큰 틀을 이해하면 언어 습득은 크게 문제가 되지 않는다. 남은건 얼마만큼 시간을 투자해 익숙해지느냐와 제공되어 있는 API의 이해도, Github에 수많은 사람들이 등록해놓은 기술/코딩 스킬들을 얼마만큼 빠르게 흡수할 수 있느냐에 달려있다고 봐도 무방하다.

******************************************************

 

그 부분중 Golang에 대해 시작해보겠다. 이미 Rust는 학습을 하고 있었는데 Rust보다 좀더 생산효율적이면서 퍼포먼스도 어느정도 보장되는 언어를 물색해보다 보니 Golang이 자연스레 눈에 들어오게 되었다. 그리고 지금 만들고 있는 거래소 정보 수집 분석 프로그램을 위해서 이기도하다.

 

Golang 의 장점은 이미 인터넷에 검색하면 손쉽게 확인이 가능하다.

간략히 링크 몇가지 올려보면 그 링크에서 정보들을 습득하길 바란다.

만들어진 바퀴를 다시 만들기는 시간이 없고. 나보다 훨씬 정성들여서 잘 작성된 자료들이므로 내가 다시 정성들여서 만들필요가 있을까 싶다.

 

## Golang 다운로드

https://go.dev/

 

The Go Programming Language

DevOps & Site Reliability With fast build times, lean syntax, an automatic formatter and doc generator, Go is built to support both DevOps and SRE.

go.dev

https://go.dev/doc/

 

Documentation - The Go Programming Language

Documentation The Go programming language is an open source project to make programmers more productive. Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and netwo

go.dev

https://github.com/golang/go/wiki/NonEnglish

 

GitHub - golang/go: The Go programming language

The Go programming language. Contribute to golang/go development by creating an account on GitHub.

github.com

https://go-tour-ko.appspot.com/list

 

Go를 향한 여행

 

go-tour-ko.appspot.com

https://mingrammer.com/gobyexample/

 

Go by Example

 

mingrammer.com

예전에는 한글 문서가 정상적으로 조회가 되었는데 글을 작성하는 시점에는 링크가 작동을 하지 않는것 같다.

무슨 문제인지 모르겠지만 잘 해결되었으면 좋겠다.

 

위의 링크만 꼼꼼히 체크해도 학습하기 충분한 정보를 가지고 있으니 꼼꼼히 링크를 체크해 보길 바란다.

 

유투브

https://youtu.be/KBdz5c-0t1w

==================================================================

설치방법을 좀 단순화 시켜보면

1. 개발환경을 고려한다.

- Windows

- Windows (WSL2)

- Linux

- Docker

- Mac

2. 개발환경 프로그램 설치

[Windows]

Golang

https://go.dev/dl/

 

Downloads - The Go Programming Language

Downloads After downloading a binary release suitable for your system, please follow the installation instructions. If you are building from source, follow the source installation instructions. See the release history for more information about Go releases

go.dev

 

Visual Studio Code

https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

 

[Windows 이외]

현재는 Windows에서 직접 실행하는 구조로 작업을 하기때문에 Windows 설치 이외의 내용은 추후 작성해보도록 한다.

3. 개발환경 설정 및 체크

Path 설정 확인

C:\go 이외의 디렉터리를 선택한 경우 해당 디렉터리를 GOROOT 환경 변수에 설정해야 한다.

Go root 의 bin 디렉터리(ex: C:\Go\bin)를 PATH 환경 변수에 추가한다.

Go 관련 package들이 저장되는 공간이므로 특별한일 없으면 수정하지 않아도 된다.

Windows 환경 변수 설정 

시스템 > 고급 > 환경변수

설치 상태 확인하기

 

728x90

+ Recent posts