ぼくの薄い本

技術的なメモを残していく薄い本的なものです

Ubuntu16.04 に Swift4 をインストールして、swift package を簡単に使ってみる

swift が OSS になってしばらく経ち、サーバサイドなどにも使われるようになってきたので、僕も Ubuntu に入れてみました。 Swift.org の手順通りにやってもダメだったので備忘録で残しておきます。 あと、Swift3.0 で導入された Swift PackagManagerも簡単…

bash でダウンロード中に Spinner を回す

スクリプトで時間がかかる処理をしているときにかっこいい表示をさせたいですよね? 僕はしたいです。 こんなやつです。 早速コード #!/bin/bash curl -L https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz 2>/dev/null & pid=$! spin[0]="-" spin[1]…

AdMob を画面下に配置する設定

Firebase の AdMob でバナー広告を試しに使ってみました。 Firebase 公式サイトの手順で行うと画面上の左端に配置されてしまうので、画面下のセンターに配置するようにしました。 前提 swift4 Xcode 8 Firebase はインストール済み Constraints を追加するこ…

clang-format のインストール方法

はじめに プラットフォーム毎の clang-format のインストール方法を紹介する cygwin setup.exe を使って、clang をインストールすると、clang-format もインストールされる macOS $ brew install clang-format Ubuntu sudo apt-cache search clang-format su…

golang で作った coincheck クライアント「goincheck」

今月の頭はビットコイン分裂で騒がれていましたね。その仮想通貨の取引所で人気の coincheck の取引APIが公開されてたのでクライアントを golang で作ってみました。 github.com クライアントを使ってビットコインの売買ができるところまでいったのでバージ…

emacs でファイル保存時に自動で clang-format を実行する

はじめに チームで開発してるときに、コーディングのフォーマットを整えたい時があると思います。 ここでは emacs の保存時に自動で clang-format をバッファ全体に適用する方法を紹介します。 emacs を使ってない人のために git commit 時などに適用しても…

emacs で同じシンボルをハイライトする方法

はじめに emacs でプログラムを書いている時に同じシンボル(変数名とか)がどこにあるのかパッと分かるようになる。 インストール方法 package.el の場合 (package-install 'highlight-symbol) cask の場合 (depends-on 'highlight-symbol) 設定方法 ;; highl…

Makefile で代入の扱い

Makefile では宣言と同時に代入を行う。代入には、以下の4つがある。その説明を行う。 1. 単純展開変数 2. 再帰属展開変数 3. 条件付き代入演算子 4. アペンド

シェルスクリプトで一時ファイルを安全に扱う3つのコツ

はじめに シェルスクリプトで一時ファイルを使うことはよくあることだと思うけど、毎度やり方を忘れてしまうのでまとめておく。 (主に自分が)すぐに使えるように一番下にテンプレートを貼っておく。 動作確認環境 Ubuntu 12.04.4 LTS コツ mktemp を使用する…

シンプルでかっこいいコンパイルログにする小技

gcc

はじめに オープンソースに限らず何かをビルドする時にコンパイルのログが流れると思いますが、その表示の仕方は様々です。 僕としてはコンパイルのコマンドなどは極力出さない方がかっこいいと思っているので、オープンソースでどのように実現しているか見…

GCC7.1 をソースからコンパイルしてみた

gcc

はじめに 急に gcc をコンパイルしたくなったのでやってみた。 昔のバージョンをインストールしたときにめんどくさかった気がするけど、だいぶ簡単にインストールできたのでメモ。 方法 トラブルシューティング Mac の makeするときに以下のようなエラーがで…