분류 전체보기 36

Golang 초보 예제 프로그램 전화번호부 애플리케이션 개발 시리즈 Phone book program #1 beginner friendly

전화번호부 커맨드라인 어플리케이션 만들기 시리즈 첫번째 진행방향 고 언어로 전화번호부 어플을 만들어보려고 해요. 처음엔 기초적인 뼈대를 만들고, 점차 살을 붙여나가는 방식으로 진행될 예정입니다. 처음엔 코드 내부에 하드코딩한 데이터를 활용하여 검색하는 커맨드라인 입력 구현합니다. 이번장에서는 이름을 입력받아 검색되는 내용을 보여주는 search 와 list 를 구현합니다. 잠깐만요☺️ 아직 기능들이 추가되지 않기 때문에 ...🐱 * 데이터를 바꾸려면 소스코드에서 직접 바꿔야 합니다요. * 정렬기능 같은거 없습니다요. * 외부 파일에 데이터를 저장하거나 불러올 수 없습니다요. * 하드코딩 데이터기 때문에 바이너리 배포 불가능하다요. 이 예제는 😁 * Name, Tel 2개의 필드를 갖는 데이터 타입 구조체..

프로그래밍/GO 2023.02.28

GO Generic 제네릭 짧게 알아봄

* 제네릭이란 데이터 타입마다 각각 다른 코드를 작성할 필요 없이 한 코드만으로 돌아가게 하는 거라고 대략 그런겁니다. 프로그래밍 기초를 배우다보면 데이터 포멧을 출력할때 보시게 되면 정수타입 실수 타입 스트링 타입 룬타입 이런 여러가지가 있지만 어떤타입이든 허용하는 포멧이 있죠. 제네릭이 함수같은곳에서 그런 역할을 합니다. * 다른 언어들은 진즉에 지원을 하였고, 사람들이 가장 많이 요청한 기능이라고 합니다. * 항상 제네릭이 필요한 것은 아닙니다. * 제네릭을 사용하더라도 이전처럼 Go를 사용할 수 있습니다. * 제네릭 코드를 완전히 제네릭 이 없는 코드로 대체할 수 있습니다. 그런데 제네릭을 사용하지 않고 추가적인 코드를 작성하고 싶을까요? * 코드와 설계가 더 간단해질 때만 제네릭을 사용하는게 좋..

프로그래밍/GO 2023.02.24

리눅스 which Go로 만들어보자 Golang Example

What is which? which 가 무엇인가요? 리눅스 시스템에서 아주 유용하게 쓰이는 명령어 입니다. 터미널에서 which go 이런식으로 입력하면 그 실행파일의 path를 찾아주는 역할을 합니다. 상황 설명 내가 맨날 실행하던 fish 쉘 어디서 동작하는지 모를때 which fish 입력하면 /usr/bin/fish 이런식으로 찾아줍니다. 분명 패키지를 지웠는데 잘 실행되고 있는경우 확인하려고 할때 내가 go를 홈 디렉토리에서도 설치하고 패키지 매니저로도 설치하고 깃허브에서도 설치하고 한 상황에서 go get 한 파일들을 찾아보려고 할 때 (go env에서 go path를 찾아보아도 된다.) Go 에서 구현하기 Go에서 which 를 구현하면서 운영체제와 상호작용하는 방법을 살펴봅니다. os 와..

프로그래밍/GO 2023.02.23

windows dual function key Capslock 대신 esc랑 ctrl 로 활용하자

안녕하세요 오늘은 vim 사용자라면 너무나 공감할 내용인데요 vim 에서는 모드전환을 하려면 esc를 많이 눌러야 하고, esc는 꽤 멀리 떨어져 있어서 습관이 되어있어도 시간이 지날수록 뭔가 답답함을 느끼게 되는 그런 불편함이 있습니다. 반면 capslock 은 잘 쓰이지도 않는 주제에 정말 누르기 좋은 위치에 떡하니 자리잡고 있죠! 현재 저는 이 capslock 키를 esc로 바꾸면서 컨트롤로도 사용하고 있습니다. esc와 컨트롤키는 그대로 놔둔 상태지요. 오늘 알아볼 것은 제가 설정한 방법과 이유에 대해서 입니다. 키를 변경하려면 레이아웃을 변경하던가 서드파티 프로그램을 항상 구동시켜 그 동작을 하는 방법이 있습니다. 방법들을 알아보겠습니다. 1. 윈도우 레지스트리 수정 - 가장 위험한 방법입니다...

윈도우 2023.02.22

Getting started with multi-module workspaces 멀티 모듈 워크스페이스

# Go work 는 뭐하는 것인가? 워크스페이스에서 모듈관리하는 거라고 볼 수 있습니다 아래 예시처럼 workspace 디렉토리에서 하위 모듈을 사용 할 수 있어 여러 모듈을 관리하기 좋습니다. # Prerequisites Go 1.18 이후 버전 command terminal # Module 만들기 학습할 디렉토리에서 workspace 디렉토리를 만듭니다. 하위 폴더에 또 다시 hello 를 만들어 봅니다. go.mod 파일을 만듭니다. go mod init test/hello simple 하게 만듭니다. stringutil.Reverse 함수는 스트링을 뒤집어주는 함수인데 스탠다드 패키지에 들어있습니다. 고랭 공홈에 나와있는 예제를 다운받아서 활용합니다. go get golang.org/x/exam..

프로그래밍/GO 2023.02.22

모듈 호출하기 Call your code from another module

모듈 만들기에 이어서 https://everyauto.tistory.com/24 [모듈 만들기 creating a module 모듈은 간단하게 말하자면 패키지를 모아 놓은 것이라고 보면 됩니다. 지난시간에 https://everyauto.tistory.com/22 [Golang 처음부터 시작해보기 최근들어 고랭 공부를 다시 시작해 보면서 기록을 좀 남 everyauto.tistory.com](https://everyauto.tistory.com/24) 이번엔 모듈을 호출해서 사용하는 것을 해보겠습니다.. greetings 와 hello 디렉토리를 생성후 코드를 작성했습니다. 이렇게 준비된 상태에서 hello 디렉토리로 이동합니다. 각 디렉토리에서 go.mod 커맨드를 이용해서 모듈을 만들어줍니다. go ..

프로그래밍/GO 2023.02.21

모듈 만들기 creating a module

모듈은 간단하게 말하자면 패키지를 모아 놓은 것이라고 보면 됩니다. 지난시간에 https://everyauto.tistory.com/22 Golang 처음부터 시작해보기 최근들어 고랭 공부를 다시 시작해 보면서 기록을 좀 남기고 복습도 하는 차원에서 블로그에 남기기로 결심했습니다. 블로그 아직까지 체계가 안잡혀서 중구난방이지만 최대한 잘 정리해볼게 everyauto.tistory.com rsc.io/quote 를 예제로 활용했는데 이 import 한것이 하나의 모듈이라고 볼 수 있습니다. 이 모듈안에는 해당 기능에 관련된 패키지들이 있고 패키지는 구현해 놓은 유용한 함수들이 들어있죠. 이번엔 이 모듈을 한번 만들어보고 가져와서 사용해보도록 하겠습니다. mkdir greetings cd greetings ..

프로그래밍/GO 2023.02.21

vscode 에서 Go 시작하기

https://go.dev/learn/ Get Started - The Go Programming Language Getting started In this tutorial, you'll get a brief introduction to Go programming. Along the way, you will install Go, write some simple "Hello, world" code, use the go command to run your code, use the Go package discovery tool, and call functions of an go.dev 에서 고랭 다운 먼저 받는다. 그리고 vs 코드에서 환경을 만들어줘야 하는데 간단하다! ctrl + shift + x 를 눌러..

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..

프로그래밍/GO 2023.02.21

스웨이 직접 설치하기 - Arch ~ Sway install (2/2)

지난번에 설치한 아치리눅스 위에 스웨이를 설치하려고 합니다. 콘솔에서 sudo pacman -S sway wayland xorg-xwayland alacritty wofi firefox pulseaudio pulseaudio-alsa alsa-utils swaylog waybar swayidle sddm 대략 이정도를 설치해줍니다. sway - 타일링 윈도우 매니저 wayland - 컴포지터(sway는 wayland로 동작합니다) xrog-xwayland - 아직 wayland에서 호환되지 않는 앱을 사용하기 위해 설치합니다. alacritty - 터미널입니다. 개인적으로 kitty를 사용합니다. wofi - 런처입니다. 여기서 프로그램 검색 firefox - 인터넷 브라우저. brave 를 추천합니다...

리눅스 2022.08.24