Go関連のことを調べてみた2021年12月21日

Go関連のことを調べてみた2021年12月21日

Ubuntuに最新バージョンのGo言語をインストールする

#はじめに
UbuntuにaptでGo言語をインストールしようとすると、少し古いバージョンがインストールされてしまうので、最新バージョンがインストールされるようにします。

#環境
Ubuntu 20.04.3 LTS

#Goをインストール
以下のコマンドを実行すると、Goのバージョンは1.13でAPTのソースはUbuntuのサイトをさしています。

“`
$ apt info golang
Package: golang
Version: 2:1.13~1ubuntu2
Priority: optional
Section: devel
Source: golang-defaults
Origin: Ubuntu
Maintainer: Ubuntu Developers
Original-Maintainer: Go Compiler Team
Bugs: https://bugs.launchpad.net/ubuntu/

元記事を表示

ESP32 向けに TinyGo をセットアップする

このページには、 ESP32 + TinyGo を使ってマイコンプログラミングを始めるための情報を記載します。
ESP32 を搭載したボードは多数ありますが、ボード固有の話よりもまずは ESP32 全般の環境を立ち上げます。
あと、試してないですが、 ESP8266 および ESP32-C もこのページに従って環境立ち上げできるはずです。

## TinyGo とは

マイコンや WASM などの Small Places 向けの Go Compiler です。
ここでは Go の文法でマイコン開発ができるもの、という程度の認識でよいです。

* [TinyGo – Go on Microcontrollers and WASM](https://tinygo.org/)

このページは 2021/11/18 にリリースされた TinyGo 0.21 を対象としています。

## ESP32 とは

WiFi + Bluetooth を内蔵するマイクロコントローラーです。
Tensilica の Xtensa LX6 マイクロプロセッサを採用し、デュアルコアとシングルコア版があります。

元記事を表示

地形生成アルゴリズム 開発NG集

### まえがき (FUN関係者の方々に向けて)

このNG集は [FUN Advent Calendar 2021](https://adventar.org/calendars/6526) に投稿させていただく記事です。
公立はこだて未来大学(FUN)の先輩の方々には、入学前という立場にも関わらず様々な形でお世話になっています。。同級生もやさしい&面白い人ばかりで、改めてFUNを選んでよかった…と感銘を受けています。皆さんこれからもどうかよろしくお願いします。

# 概要

自分は近頃、地形生成アルゴリズムの実装にハマっています。
先日にはこんなものをリリースしました↓

https://github.com/TadaTeruki/RDGL

(よければ★スターしてね!)

使い方の解説などは[**この記事**](https://qiita.com/TadaTeruki/items/a78a8e463e4edfda1884)に載せているので、興味のある方ぜひ見てみてください
タイトルは若干誇張してますが、、ご愛嬌。

### NG集??

この**RDGL**という代物ですが、

元記事を表示

PulumiのGoでAWS App Runnerを構築する

## Pulumiってなに?

以前書いた記事の通り、インフラのプロビジョニングツールです。

https://qiita.com/runeleaf/items/0e2b69bae38164aa826a

今回はGoでAWSのApp Runner環境を構築してみます。

前回からだいぶ間が空いているのですが、変わったことといえばPulumi 3.0がリリースされたこと、AWSネイティブプロバイダーを発表したことでしょうか。

https://www.infoq.com/jp/news/2021/11/pulumi-aws-native-provider/

なにがどう変わったのか細かく見るのもアレなので今回はPulumiでApp Runnerの環境をつくりたいと思います。

ちなみにまだRubyには対応していない。

## 準備

macOS Big Sur

“`
$ sw_vers
ProductName: macOS
ProductVersion: 11.6
“`

“`
$ pulumi version
v3.20.0
“`

AWS環境変数設定

“`

元記事を表示

Goでgorilla/mux使用時、URIの「/」→「//」にするとどうなるか

## Goでサーバを立ち上げる
のは簡単です。
ルートに、URIと関数をセットで登録し、起動すればOKです。
パッケージは、`gorilla/mux`を使っています。
URIをいじった際のメソッド(`GET`、`POST`)を追いたいので、標準エラー出力とレスポンスにメソッドの中身を出力しています。
なぜ標準エラー出力かのツッコミは、一旦置いといてください。

“`go
import (
“net/http”
“github.com/gorilla/mux”
)

func main() {
r := mux.NewRouter()
r.HandleFunc(“/api/out”, out)
http.ListenAndServe(“:8080”, r)
}

func out(w http.ResponseWriter, r *http.Request) {
method := r.Method
println(method)
w.Write([]byte(method))
}
“`

## 正しいURIでアクセス
してみます。上記ソースを起動し、API Clie

元記事を表示

軽量プログラミング言語経験者のGoとの付き合い方

# はじめに
[朝日新聞社 Advent Calendar 2021](https://qiita.com/advent-calendar/2021/asahi)の第20日目を担当する[M研](https://cl.asahi.com/)の松原です。
宜しくお願いします。

普段はTypeScriptやPythonを触っており、Goを書き始めた当初は「あれもない」「これもない」という物足りなさに満ちていました。
3ヶ月くらいGoと向き合って考え方が変わってきたので、軽量プログラミング言語と比較したGoの特徴や、見てきたドキュメントについてまとめたいと思います。

# 想定読者
– 一通りのチュートリアルは終えた人
– クラスベースのオブジェクト指向言語に触れたことがある人
– Go言語なんかしっくりこないな〜って人

# 「Goに入ってはGoに従え」
– Goにないものは結構あるので、まずはそれをちゃんと理解する
– 物事にはトレードオフがつきもの、Goはシンプルさと変更の少なさに重きをおいている
– 「これがないのはイケてない!プンプン」と思うものもあるかもしれないが

元記事を表示

pgGeocoderとpg_featureservで、簡易ジオコーダAPIを試してみる

# はじめに

先日(2021/12/04)の [FOSS4G Japan 2021 Online](https://www.osgeo.jp/events/foss4g-2021/foss4g-2021-japan-online/foss4g-japan-2021-online-core-day) イベントでは、「[pgGeocoderのご紹介](https://www.osgeo.jp/events/foss4g-2021/foss4g-2021-japan-online/foss4g-japan-2021-online-core-day#sponsor5)」というタイトルで発表させて頂きました。

_FOSS4G Japan 2021 Online – pgGeocoderのご紹介_