SWEet

A Software Engineer Is Eating Technologies

2018-01-01から1年間の記事一覧

Goのプログラムで動的アップデートについてのトリビア

この記事は Go3 Advent Calendar 2018 - Qiita の21日目の記事にあたります。 アドベントカレンダーに参加するのは初めてのため、作法なので間違っているところがあったらすいません。 動的アップデート 動的アップデートという言葉をご存知でしょうか?ホッ…

Rustのモジュールシステムが厳格

goは1年半ぐらい結構書いてきて、シンタックスもそこまで複雑ではないので大分慣れてきた気がした。 なので最近はrustをちょくちょく書いてる。 今はgoで書いた8086のディスアセンブラをrustで少しずつ書き直そうと思ってる github.com クローラとかは若干飽…

Golangにおけるプロジェクトのレイアウトについて

僕がGolangを好きな理由はいくつかあるが、主なものは コードが皆フォーマッターによって大体綺麗になる 言語機能が充実しすぎていないので処理が追いやすい(コーディングする時不便に感じることもあるが、チームでの開発においては読まれる方を重視したほう…

Goのプロジェクト内でgRPCで自分で定義したprotoファイルをimportする

自分で作ったprotoファイルを他のprotoファイルから参照する時にハマったのでメモ サンプルプロジェクトの構成 . ├── Makefile ├── team │ └── handler │ └── grpc │ └── team │ ├── team.pb.go │ └── team.proto └── user └── handler └── grpc └── user ├─…

Ubuntu14.04上でglibcをbuildしてリンクする

glibc内のソースをいじりたかったのでその前準備にglibcソースからビルドしてコードにリンクするまでの手順をメモ 環境 vagrant@vagrant-ubuntu-trusty-64:~/libc$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubunt…

Gormにおける多層外部キーの定義の仕方とコードの書き方

最近バイトの方でgormの振る舞いとデータベースのテーブル構造のことでハマったのでそれについてメモっておきます テーブル構造とgoのモデル 最初にあったテーブル構造は上の図のような感じ。 今回は例として地域、地域に存在する書店たち、書店の持つ本をマ…

2018上半期院の授業振り返り

お久しぶりです。 今回は僕が上半期に芝浦工業大学大学院電気電子情報工学専攻で取った授業についてレビューというか感想的なものを書いていこうと思います。 後輩の方々に向けての参考になれば幸いです。 構成はこんな感じで書いていきます。 授業名 概要 …

GAEにデプロイするとき今のバージョンのzapは使っちゃだめ

GAEでgolangのwebサービスをデプロイしようとしたとき github.com unique id発行のために上のライブラリを使っていたんですが、内部でzapを使っていました。 github.com zapは以下のようにgo1.9から追加されたtype aliasを使っています。 package zap import…

自作OS入門の環境をOS Xで整える

動機 「30日でできる!OS自作入門」を読み実装しようと思ったところ、環境がwindows。おまけにアセンブラやビルド環境がWindows故、そのまま流用できませんでした。 そこで少し色々調べた結果、http://bttb.s1.valueserver.jp/wordpress/blog/2017/11/14/mak…

brew updateしたらなんかvimが動かなくなった

vim

ある日 brew update したらvimが dyld: Library not loaded: /usr/local/opt/lua/lib/liblua.5.2.dylib Referenced from: /usr/local/bin/./vim Reason: image not found /usr/local/opt/lua/lib/liblua.5.2.dylib がないと言われた。実際にパスに移動すると…