年始のAmazonセールでそこそこのスペックで自分が欲しいPCがあったので買いました。
そして、そのPCを生贄にしてwin10/Archのデュアルブート環境の構築までは行ったので一旦書いてみます。
- 1.PC購入編
- 2.win10設定編
- 3.Archインストール編
の3ステップのお話です。
年始のAmazonセールでそこそこのスペックで自分が欲しいPCがあったので買いました。
そして、そのPCを生贄にしてwin10/Archのデュアルブート環境の構築までは行ったので一旦書いてみます。
の3ステップのお話です。
MiniAxeのビルドログで「次回はMiniAxe光らせ編で会いましょう」と公言したとおり、
光らせました!!
どうも、Kotlinウォッチャーです。
これは、Kotlin アドベントカレンダー (https://qiita.com/advent-calendar/2019/kotlin)の代理投稿になるかもしれないし、
ならないかもしれません、という記事です。
個人的に観測していたKotlinの2019年について振り返ってみようと思います。
どうも、ハンダ付け下手くそマンです。
今回はMiniAxeが使えるようになったので、自分のビルドログ的なものを残そうと思います。
JJUG CCC 2019 Fall
https://ccc2019fall.java-users.jp/
というJavaのカンファレンスで
Goの入門のお話をしました。
https://www.slideshare.net/yyyank/javago
Goを書いている人が読んでもおそらく新規性がない情報になっております。
Ergo42にunderglow LEDに仕込んだため、PCBとプレートの間の空間が5mm以上必要になった。
遊舎工房キット付属のものはm2の5mmだが、5mmではLEDテープがPCBと密着してしまい、あそびがないため干渉する。
有力なのは東急ハンズや遊舎工房などらしい。
AliExpressもアリだと思います。
自キー界隈ではscrapboxに情報がまとまっていました↓
なるほど東急ハンズ…。
— yank shaving (@yy_yank) October 18, 2019
自分はモノタロウで買いました。amazonはほぼない。aliexpressはは検索で見つけられんかった/https://t.co/KOsR6w5AvQ
Amazonは皆無に近かった。10mmのものは売っていたので買って見たが長すぎ(そりゃそうだ)。
スペーサー変えるだけで大分打鍵感が変わってくる。スペーサー大事
— yank shaving (@yy_yank) October 15, 2019
(左がm2の10mm、右がキットについてたm2の5mmスペーサー)
ergo42で10mmは高すぎなので6〜7mmぐらいにしようと思います pic.twitter.com/0YjayLuULK
モノタロウは種類が豊富だったため買った。
ただし、完全にそういう建築とかする系の業者がユーザー想定のサイトだったため、結構素人は困惑した。
ただ、これは玄人向けに作ってると言われれば、確かに無駄な情報が無くて良い。
慣れれば使いやすいような気もした。
素人の僕は
ばかり気にしていたので、ネジしめが出来ないタイプということに気づかず購入。あえなく爆死しました。
ちゃんとネジ閉まる用のスペーサーも売っているのでそれを買えば解決しそう。
モノタロウで売ってるスペーサーはだいたい図面も商品ページに書いてあるので、よく見れば需要を満たすものはわかる。
よく見ていない自分が悪いという事案でした。
よく見て買いましょう!
ネジが閉まらず、いま僕のErgo42はパカパカになっています。悲しい
3度目の正直で次はちゃんとしたのを買いたい。
作りました!
ergo42のアーリーバードでもなく、ergo42 towelです(ココ大事)。
ergo42 towelは、4x7のイカしたキーボードです。
https://yushakobo.jp/shop/ergo42-towel/Kotlin Fest 2019行ってきました。
https://kotlin.connpass.com/event/129860/
NestJSとはTypeScriptで書かれたnodeのサーバーサイドのフルスタックな感じのフレームワークです。
どことなくどこかで見たことある感じのフレームワークなので使いやすい感じはあります。
(いろんな言語の某フレームワークや別の某フレームワークに似ているとか感じると思います)
https://github.com/nestjs/nest
NestJSってエラーハンドリングどうするのがいいんだろう?
Catchアノテーションというのがあるらしいけどどういうものなんでしょう(大体想像つくけど)
そのあたりを調べてみます。
helixを作りました。
今この記事を書いているのはmanta60とhelixです。
thanks いらすとや
https://www.irasutoya.com/2015/07/blog-post_993.html
自作キーボードのキーマッピング、皆さん悩むところだと思います。
自分の場合、こうしているというのを書くと参考になる…かもしれないので書いてみます。
manta60を作りました。
先に言っておきます。manta60は本当にいいキーボードです!
残念ながらレツプリとかheilxとかに比べ作成しました系の記事が少ないので、
足しになればと、僕のビルドログ(?)をブログでまとめます。
天キーで60%キーボードを物色していたところ
良さそうなものが販売されていたので書いました!
これがmanta60との出会いでした。
作者の方から直々にどういう特徴があるか、キットに何が入ってるかなど聞いて
販売してもらうのは貴重で贅沢な体験だったなぁと思います!
気のせいだろうか、キーボードの事ばっかりツイートしてるような気がする今日この頃です。
60%キーボードを探していて、候補としては
などを考えていたようです。
jjug ccc 2019 springに行ってきました。
http://www.java-users.jp/ccc2019spring/#/
ちょっと私用があり、午前から夕方ぐらいまでの参加でしたが、楽しませてもらいました。
goconも行きたかったし、なんならInside Frontendというイベントも気になりましたが
なんだかんだjjug cccに参加しました。
(日程被っていなくて、抽選漏れとかで無ければそれぞれ参加したかったですね)
yujisoftwareさん、いつも助かります
https://yujisoftware.hatenablog.com/entry/2019/05/19/040112
以前から自作キーボードが界隈で流行っているのは目にしていました。
興味もあったが、市販のキーボードで我慢していたところがあります。
今、Kinesis Freestyle2 Keyboard(たまにHHKB Lite2)を使っています。
いわゆる市販のキーボード?です。
さて、Java is still freeなわけですが
https://medium.com/@javachampions/java-is-still-free-2-0-0-6b9aa8d6d244
https://www.sakatakoichi.com/entry/javaisstillfree
どのJDKをどのバージョンで使うかねぇという話がありますよね。
JDK 8を使い続けるという選択肢もあります。
いろんなベンダーがLTS(long term support)としているJDK 11を使うということも出来ます。
色々考えてみましょう。
FINAL NOTICE: Two days left to upgrade your CircleCI configuration by March 15 This is the final notice reminding you that one or more of your projects has recently used the CircleCI 1.0 infrastructure, which will no longer be available after March 15, 2019. In order to address this issue and keep your project(s) building, please see: Instructions on seeing which projects still use CircleCI 1.0 config A guide to migrating from 1.0 to 2.0 CircleCI 1.0 EOL policy In two days, all projects will require a circle/config.yml, the 2.0 configuration file type, to build on CircleCI. It’s possible that your project is currently missing a configuration file, and is building on CircleCI 1.0 by default. We know we have sent you a number of notifications in recent weeks regarding 1.0 EOL. At the risk of over-informing you, our goal is to make sure that zero teams or projects are caught unawares when they can no longer build on CircleCI 1.0 on March 15, 2019. We are here to help in making this switch, please visit the migration center. Thanks again, The team at CircleCI
こんなメールが来ていたわけで。超めんどいな、と思ってスルーしていたんですが、
まぁ書き直すかぁということでやってみました。
何を今更という人もいると思うのだけど。
varは書く必要ないな、と改めて思いまして。
ということで自分の整理も兼ねて書いています。
小ネタですが。
ansistorano.deployとansistorano.rollbackがrenameされたらしい。
今年もまた1年が終わってしまった。
諸行無常。
自分の中の恒例行事となっているので、
振り返りと来年の目標をユルく立てようと思います。
今年の目標はこんな感じ(だったよう)でした。
これらを振り返っていく。
・・・・・・・。
今回、EEサーバーを使う方を考える。
8が最新の、はず
は無論okとして、
がちゃんと動くかどうか。
EE7 、 EE8サポート。
Java SE 11もクラスパスモードでサポートしているらしい。
http://wildfly.org/news/2018/12/13/WildFly15-Final-Released/
EE8はサポートしているとして、Java SE 11は issueが上がっている。
Java 9以降は現在サポートしていない。Jakarta EE自体が11対応というかjigsaw対応必要だろう、みたいなコメントが書いてある。
https://github.com/payara/Payara/issues/3382
https://github.com/payara/Payara/issues/2296
蓮沼さんの記事が詳しいが、Java SE 11はサポートしてない。
まぁ、Payaraもまだだし。
https://www.coppermine.jp/note/2018/12/nightmare-of-jep320/
読んでる本を並べてみると、なんかやってる風を装える気がしたので書いてみた。
意外と長めの文章ができ、装いとしては良いかもしれない。
あたりを今更読んでいる。
本を読んでいていつも思うが、
本を読み切るというのが得意ではない気がしている。
というか本を読むのに費やす時間が単純に不足してるだけともいう。
良い本。いろんな人が褒めているので今更褒めるのも野暮に感じている。読んで考察したりしてる部分もある、かもしれない。
少しプログラマ向けではないが、とても良い内容。この本に関しては分厚くないし9割ぐらい読んだ気がする。
実践vimは読んでいるが、大体知っている内容ではある。tips本なので仕方がないような側面はある。たまに知らないことが載ってるので得をする。
発売当初に買って、流し読み。そしていま読み直しているが多少は理解しやすくなったような気もする。
この本もムック本?で読みやすい分量なので一周なめておきたい。
しかし物理本にしてしまったがゴーファーのパラパラ漫画は楽しい。手軽さを求めるなら電子書籍が良いかも。
おそろしいほどに、スマホに依存している。kindle端末もあり、PCもあるので、そちらで電子書籍なら読むことが出来るのだが、一番手軽という点でスマホになっている。
おそらく、PCに本を入れておいてリファレンス的に使うというのも有効ではないかと最近思っている。
個人的な事情で、勉強するのに充てる時間が減ってきた感じがある。
感覚的に言うと無限にあった時間が有限になっただけ、ではあるので少し出来たスポットの時間を如何に有効活用するかが大事になって来ている(これは以前からもそう)。
自分にとっては、ブログに書き出すことも勉強とか読書とか、そちら方面の思考を整理するのに有効なので続けていきたい。
Clean Coderも読みたいが、ソフトウェア見積と計画的な見積のやつも読みたい。色々と積みすぎていて詰んでいる。
どの本を読むか、読まないか、捨てるかも整理したほうが良いのかもしれない。
なんかコードを書きたい
これをやってみようかと。
A Tour of Versioned Go (vgo)
(Go & Versioning, Part 2)
https://research.swtch.com/vgo-tour
vgoの詳細は以下に委ねる。
Goにおけるバージョン管理の必要性 − vgoについて − by @tenntenn #golang #go https://www.slideshare.net/takuyaueda967/go-vgo-102442203
あぁ、なんかまだバグとかあるかもしれないとのこと。issue立ててとのこと。
You are certain to run into interesting bugs, since vgo is at best only lightly tested right now. To file issues, please use the main Go issue tracker and add the prefix “x/vgo:” to the title. Thanks.
とりあえず、素直にインストールしていきます。
go get -u golang.org/x/vgo
。。。なんだ?
go get -u golang.org/x/vgo go get: warning: modules disabled by GO111MODULE=auto in GOPATH/src; ignoring go.mod; see 'go help modules'
なんかwaring出てるけど、一旦進めてみるか。
helloってディレクトリを作る
$ mkdir hello $ cd hello
main関数書く
package main // import "github.com/you/hello" import ( "fmt" "rsc.io/quote" ) func main() { fmt.Println(quote.Hello()) }
go.modってのを作ってビルドするらしい。
echo >go.mod vgo build
果たしてすんなりビルド通るかな。
なんか、うちのネット環境が貧弱なせいもあって初回ビルドすんごい重いな。
$ vgo build go: finding rsc.io/quote v1.5.2 go: downloading rsc.io/quote v1.5.2 go: finding rsc.io/sampler v1.3.0 go: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c go: downloading rsc.io/sampler v1.3.0 go: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c $ ./hello こんにちは世界。
お、なんかすんなりできた。
ディレクトリ構成はこんな感じになった。
tree . ├── go.mod └── hello ├── go.mod ├── go.sum ├── hello └── hello.go
go.modの中身はこうなった。
cat hello/go.mod
module github.com/you/hello
require rsc.io/quote v1.5.2
go.sumの中身はこんな感じ。
cat hello/go.sum golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c h1:qgOY6WgZOaTkIIMiVjBQcw93ERBE4m30iBm00nkL0i8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= rsc.io/quote v1.5.2 h1:w5fcysjrx7yqtD/aO+QwRjYZOKnaM9Uh2b40tElTs3Y= rsc.io/quote v1.5.2/go.mod h1:LzX7hefJvL54yjefDEDHNONDjII0t9xZLPXsUe+TKr0= rsc.io/sampler v1.3.0 h1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
どうやら、バージョンを固定するためのものっぽい。
vgoで管理しているものをupdate日付とか一覧で見るにはこんな感じらしい。
vgo list -m -u
実際にupgradeするにはこのようにする。
vgo get golang.org/x/text vgo: finding golang.org/x/text v0.3.0 vgo: downloading golang.org/x/text v0.3.0
逆にダウングレードする際は、バージョン番号を指定してやると良いみたい。
$ vgo get rsc.io/sampler@v1.2.0
vgo test all でvgoで管理されているモジュールのテストが走るらしい。
vgo test all
結果:
vgo test all ok archive/zip (cached) ok bufio (cached) ok bytes (cached) ok compress/bzip2 (cached) ok compress/flate (cached) ok compress/gzip (cached) ok compress/lzw (cached) ok compress/zlib (cached) ok container/list (cached) ok context (cached) ok crypto (cached) ok crypto/aes (cached) ok crypto/cipher (cached) ok crypto/des (cached) ok crypto/dsa (cached) ok crypto/ecdsa (cached) ok crypto/elliptic (cached) ok crypto/hmac (cached) ? crypto/internal/randutil [no test files] ok crypto/internal/subtle (cached) ok crypto/md5 (cached) ok crypto/rand (cached) ok crypto/rc4 (cached) ok crypto/rsa (cached) ok crypto/sha1 (cached) ok crypto/sha256 (cached) ok crypto/sha512 (cached) ok crypto/subtle (cached) ok crypto/tls (cached) ok crypto/x509 (cached) ? crypto/x509/pkix [no test files] ? encoding [no test files] ok encoding/asn1 (cached) ok encoding/base64 (cached) ok encoding/binary (cached) ok encoding/gob (cached) ok encoding/hex (cached) ok encoding/json (cached) ok encoding/pem (cached) ok encoding/xml (cached) ok errors (cached) ok flag (cached) ok fmt (cached) ? github.com/you/hello [no test files] ok go/ast (cached) ok go/build (cached) ok go/doc (cached) ok go/format (cached) ok go/parser (cached) ok go/printer (cached) ok go/scanner (cached) ok go/token (cached) ? golang.org/x/text/internal/gen [no test files] ok golang.org/x/text/internal/tag (cached) ? golang.org/x/text/internal/testtext [no test files] ok golang.org/x/text/internal/ucd (cached) ok golang.org/x/text/language (cached) ok golang.org/x/text/unicode/cldr (cached) ok golang_org/x/crypto/chacha20poly1305 (cached) ok golang_org/x/crypto/cryptobyte (cached) ? golang_org/x/crypto/cryptobyte/asn1 [no test files] ok golang_org/x/crypto/curve25519 (cached) ok golang_org/x/crypto/internal/chacha20 (cached) ok golang_org/x/crypto/poly1305 (cached) ok golang_org/x/net/dns/dnsmessage (cached) ok golang_org/x/net/http/httpguts (cached) ok golang_org/x/net/http/httpproxy (cached) ok golang_org/x/net/http2/hpack (cached) ok golang_org/x/net/idna (cached) ? golang_org/x/net/internal/nettest [no test files] ok golang_org/x/net/nettest (cached) ok golang_org/x/net/route (cached) ? golang_org/x/text/secure/bidirule [no test files] ok golang_org/x/text/transform (cached) ? golang_org/x/text/unicode/bidi [no test files] ok golang_org/x/text/unicode/norm (cached) ok hash (cached) ok hash/adler32 (cached) ok hash/crc32 (cached) ok hash/crc64 (cached) ok hash/fnv (cached) ok image (cached) ok image/color (cached) ? image/color/palette [no test files] ok image/draw (cached) ok image/gif (cached) ? image/internal/imageutil [no test files] ok image/jpeg (cached) ok image/png (cached) ? internal/bytealg [no test files] ok internal/cpu (cached) ? internal/nettrace [no test files] ok internal/poll (cached) ? internal/race [no test files] ok internal/singleflight (cached) ? internal/syscall/unix [no test files] ? internal/testenv [no test files] ? internal/testlog [no test files] ok internal/trace (cached) ok io (cached) ok io/ioutil (cached) ok log (cached) ok math (cached) ok math/big (cached) ok math/bits (cached) ok math/cmplx (cached) ok math/rand (cached) ok mime (cached) ok mime/multipart (cached) ok mime/quotedprintable (cached) # os/signal.test clang: warning: argument unused during compilation: '-nopie' [-Wunused-command-line-argument] ok net 477.127s ok net/http (cached) ok net/http/cookiejar (cached) ok net/http/httptest (cached) ok net/http/httptrace (cached) ok net/http/httputil (cached) ok net/http/internal (cached) ok net/internal/socktest (cached) ok net/mail (cached) ok net/textproto (cached) ok net/url (cached) ok os 18.478s ok os/exec (cached) ok os/signal (cached) ? os/signal/internal/pty [no test files] ok os/user (cached) ok path (cached) ok path/filepath (cached) ok reflect (cached) ok regexp (cached) ok regexp/syntax (cached) --- FAIL: TestHello (0.00s) quote_test.go:19: Hello() = "99 bottles of beer on the wall, 99 bottles of beer, ...", want "Hello, world." FAIL FAIL rsc.io/quote 0.008s --- FAIL: TestHello (0.00s) hello_test.go:31: Hello([en-US fr]) = "99 bottles of beer on the wall, 99 bottles of beer, ...", want "Hello, world." hello_test.go:31: Hello([fr en-US]) = "99 bottles of beer on the wall, 99 bottles of beer, ...", want "Bonjour le monde." FAIL FAIL rsc.io/sampler 0.008s ok runtime (cached) ok runtime/debug (cached) ok runtime/internal/atomic (cached) ok runtime/internal/sys (cached) ok runtime/trace (cached) ok sort (cached) ok strconv (cached) ok strings (cached) ok sync (cached) ok sync/atomic (cached) ok syscall (cached) ok testing (cached) ? testing/iotest [no test files] ok testing/quick (cached) ok text/tabwriter (cached) ok text/template (cached) ok text/template/parse (cached) ok time (cached) ok unicode (cached) ok unicode/utf16 (cached) ok unicode/utf8 (cached) ? unsafe [no test files]
あ、失敗してるし。
どうやら、1.99.99だとテストFAILするので、バージョン変更しようっていうサンプルっぽいですね。
流れにしたがって、 vgo get rsc.io/sampler@v1.3.1 すると テストをPASSするようになりました。
特定のバージョンを除外することもできる。
こんな感じで。
echo 'exclude rsc.io/sampler v1.99.99' >>go.mod
go.modの除外は、他のモジュールでは有効にならない。
この場合、hello/go.modにのみ除外が有効で、他のモジュールでhelloモジュールが使われていたとしても exclude ...
は適用されないということみたい。
特定のモジュールを指定して、置き換えができるということらしい。
ローカルにあるソースを参照させるようにしたり
echo 'replace rsc.io/quote v1.5.2 => ../quote' >>go.mod
forkしてきたものを見るようにしたり出来るみたい。
echo 'replace rsc.io/quote v1.5.2 => github.com/you/quote v0.0.0-myfork' >>go.mod
ベンダリングして、GOPATHの通っているところにもっていけば go buildも出来るということらしい。
vgo vendor $ mkdir -p $GOPATH/src/github.com/you $ cp -a . $GOPATH/src/github.com/you/hello $ go build -o vhello github.com/you/hello $ LANG=es ./vhello Puedo comer vidrio, no me hace daño.
先ほどの資料によると(https://www.slideshare.net/takuyaueda967/go-vgo-102442203)、
これが Go 1.12では標準となるということですが、
まぁ、普通に使ってみて使えるっちゃ使えるかもなぁと思います(正直ちょっと触ったぐらいではツラミ分からない)。
いちど、ビルド・デプロイの流れを組んでしまえば (それなりに大変だろうけど)なんとかなりそうな。
でも、depとかgbとかもアクティブなのだろうし、他のツールを使っているならそのまま使っていても良いような。
モジュール単位でのバージョン管理とかvgoの仕組みにメリットがあれば使っていけば良い…のかな?
どれにしたらええんや
— yank shaving (@yy_yank) August 23, 2018
Kotlin ver 1.3-M1が出ました。
See what’s coming in Kotlin 1.3-M1
https://blog.jetbrains.com/kotlin/2018/07/see-whats-coming-in-kotlin-1-3-m1/
毎回アップデートがあるたびに変更内容を眺めてはいるのだけど、
今回は久しぶりに面白いバージョンアップだなあと思いました!
など。
そして今回もshirajiさんみたいにKotlinへコミットしてる日本の方もいて良いですねー。
https://github.com/t-kameyama
多分日本の方?だと思う。