3DプリンタとITとプリキュアのブログ

大学でプログラミングに出会って、ズブズブにハマってしまった情報系学生の書くブログです。

プログラミング

goaでControllerでDBアクセスする話

最近goaでAPIサーバを書いてるんですけど、DBアクセスしたいときにControllerからDBクライアントをどうやって呼び出すかを色々考えてた話。

GolangでNamed Result Parametersを使っていつもより簡潔にエラー処理を書く

GolangでNamed Result Parametersを使った関数を書いているときに、ふと気づいたことがあったのでその話。

Golangでトランザクションを使う話

今までに作ったWebサービスは基本的にハッカソンで作ったものだけで、いつも適当に動けばいいやと思ってトランザクションを今まで使ったことなかったんですけど、この前初めてトランザクションを書いたのでその話。

どこかでゴミcommitが混ざってしまったときはgit bisectを使おう

開発中に適当にcommitしていたら気がついたらビルドできなくなっていて、どのcommitからビルドできなくなったのか分からなかったので、地道にマージしてはいけなかったcommitを探してたんですけど、どうもこういうのを上手に探す方法があることを知ったので…

Golangのビルドタグについて

Golangのビルドタグというものを知ったのでその話。

技術書展5にサークル参加してきた話

技術書展5に行ってきました。 サークル参加で「Dockerで始めるゲームボーイアドバンス開発入門 vol.1」を頒布して来たのでその話。 shumon-84.booth.pm

GolangのRange Clauseの落とし穴

Golangでrangeを使っていたら、変な落とし穴にハマって辛かったのでその話。

Google Cloud Functionsで環境変数っぽいものを使う

Cloud Functionsで開発環境と本番環境でプロジェクト名とかもろもろの環境変数を使いたくなったんですけど、探してみたらまだBeta版の機能だけど、こういうのがありました。 Using Environment Variables | Cloud Functions Documentation | Google Cloud

DatastoreのエンティティをBigQueryに自動でバックアップする

Datastore --エクスポート--> GCS --インポート--> BigQuery GCSの変更をフックして呼ばれたCloud FunctionsからBigQueryにインポートするAPIを叩く。 GAEのcron.yamlを使って毎晩Datastoreからエクスポートさせると、自動でバックアップがBigQueryに溜まっ…

Goでjsonをエンコードするときのあれこれ

Goでjsonをエンコードしたいときに、地味に迷ったのでその辺の話。

Cloud Functionsで叩けるシェルコマンド一覧

Cloud Functionsでgcloudコマンドが叩きたくなったんですけど、gcloudがインストールされているか分からなかったので、$PATHを調べるついでに、$PATHが通っている全てのコマンドも調べてみました。

初めてLaTeXで技術書を書いて売るまでにやったこと

先日、コミックマーケット94で「Dockerではじめるゲームボーイアドバンス開発本」という技術書を頒布しました。 booth.pm BOOTHでモノクロ紙書籍+カラーPDFが購入できます。在庫余ってるのでみんな買ってください() 初めて技術書を書いたので、それまでに色…

Windowsで使ってたHDDがLinuxでマウントできない話

最近自宅のメインPCをWindowsからLinuxに変えて、SSDは完全に初期化してインストールしたんですけど、HDDの方はデータ残したら、HDDがうまくマウントできなくなって困った話

Golangで謎エラーが出た

MacでGoをアップデートしたら、見たことないエラーが出てきてびっくりしたのでその話。 なんかgoがビルドできないんだけど、なにこの症状 pic.twitter.com/zARlo8ef31— しゅもん (@shumon_84) 2018年5月16日

Pythonで日本語 + パイプを使うと死ぬ

イマイチPythonに慣れないので、普段はちょっとした自動化とかは基本的にシェルスクリプトと併用してるんですけど、コマンドラインで直接実行すれば動作するのに、シェルスクリプトからPythonを呼び出すと動作しないみたいなことがあったので、その時にやっ…

xargsは出力をコマンド引数に渡すだけのコマンドではない

最近まで、xargsは 「コマンドの出力結果を別のコマンドの引数に使う」 ためのコマンドだと思ってたんですけど、どうもそれだけのコマンドではないらしいのでその話。

ライブラリを作ろう

以前、RCC2017アドカレ17日目を書いたので、その転載です。

Kindleの春のプログラミング書フェアで安くなってる良さげな本たち

Kindleで春のプログラミング書フェアがやってる 4/26まで一部の技術書が安くなってたのでさっそくいっぱい買ってしまった。 www.amazon.co.jp

RUPC2018参加記

いつまで参加記を書いてるんだ

Debianパッケージを自作してみる

ふとDebianパッケージを自作してみたくなったので、パッケージビルドをやってみた話。

Macでゲームボーイアドバンスのゲームを作ろう【01】

ながらく放置していたGBA用の自作ゲームを作っていきます。 今回はひとまずHello Worldのビルドまでやっていきます。 前回は開発環境を整えたので、その続き。

構造体のメンバとメモリの話

今まで、C言語で構造体のメンバはメモリ上では配列のように連続していると思っていたんですが、どうも必ずしも連続とは限らないことを知ったのでその話。

Makefileでヘッダーの依存関係を自動で解決する

今まで、Makefile書かないといけないようなある程度大きなプログラムを書くときに、ヘッダーの依存関係をMakefileに自分で打ち込んでいて、なかなか大変だったのでどうにか自動化できないのかなーって思って調べたら目から鱗だった話。

使うのか分からないリングバッファのライブラリを書いた

C++でコンテナクラスを一から書いたことがなかったので、ちょっと書いてみようと思ったんですけど、競プロで使いそうなデータ構造は目についたものは一通りライブラリ化してあったので、使うのかは分からないけど、リングバッファを書いてみました。

ACPC2017 参加記

ACPC2017に参加したので、その参加記です。

C言語で画像→アスキーアートコンバータを作る

C言語での画像ファイルの取り扱いをやってみたかったので、指定した画像ファイルを自動でアスキーアートに変換して、標準出力に吐くプログラムを作ってみました。 github.com

stderrとstdoutについてのあれこれ

printf("hello world")とfprintf(stdout,"hello world")が同じことをしてるのはよく知ってると思います。 じゃあfprintf(stderr,"hello world")との違いは?って聞くと、多分「標準出力と標準エラー出力だから出力先が違う」みたいなこと言われるんですけど…

cronでジョブを実行するときにハマったこと

個人的にcronでジョブを実行するときにつまづいたポイントをまとめました。 cron便利だけど、難解。

Amazon Echo Dotをさわってきた話

T-Lab. Academy Tinkering & Hacking Event 2Days に参加してきました。

ICPC2017国内予選参加記

ICPC2017の国内予選に参加しました。 @wk1080idさんと@yebityonさんとprime_rabbits_houseで出場しました。