My Favorite Things - Coding or die.

とある技術者の経験記録、的な。

Quick/Nimbleで独自Matcherを自作して、テストコードの可読性を上げる

さて今年も終わりに近づいてきました。 この記事はモバイル 自動化 / 自動テスト Advent Calendar 2017の17日目の記事です。 実はアドベントカレンダーの参加は今回が初めてだったりするのですが、まぁそれはどうでも良いですよね。 Tl;Dr Quick/Nimbleで、…

勉強会:Bonfire iOS #3 に参加してきた。

さて、気づけばどうやら久しぶりのブログ更新のようです。 今回は、Bonfire iOS #3 というヤフーが開催しているIOS系の勉強会に参加してきました。 yj-meetup.connpass.com 第3回の今回のテーマは「品質」ということで、様々な会社・プロダクトに携わってい…

Androidで利用されるGradleバージョンの確認方法

AndroidでGradleのバージョンと言った場合、以下の2種類がある。 Gradle本体 Android Plugin for Gradle Gradle本体 Gradle本体のバージョンは、File > Project Structure > Projectから確認できる。 利用可能なバージョンは以下のURLから確認可能。 https:/…

platform-tools について復習

なんか微妙に理解が怪しくなったので復習。 なに? adbとかfastbootといったコマンドが含まれるツール群。 インストール Android Studio の SDK Manager からインストール・アップデートできる。 最近は SDK Manager を利用せずとも単独でダウンロードできる…

iOSDC JAPAN 2017 に CfP を出してみた

iOSDC JAPAN 2017 に CfP を 3本出しました。 iosdc.jp ”当たらなければどうということもない”なんて名セリフもありますが、たしかに当たらなければ発表できません。 (悲しいけどこれ抽選なのよね) なのでせっかくなのでシェアしたいと思います。 もし「こ…

ブログデザインを変更

ひと目で気に入ったので、導入させていただきました。 hitsuzi.hatenablog.com

Otemachi.swift #01 に参加してきた

参加してきました。 nikkei.connpass.com 今回はブログ枠ではないですが、簡単にダンプした内容をメモです。 会場 発表に集中しやすい落ち着いた雰囲気の会場でした。 すべての椅子にテーブルがついていて参加者にもやさしい感じだと思いました。 (ただし僕…

CAMPFIRE iOS #2 に参加してきた。

CAMPFIRE iOS #2に参加してきました。 ブログ枠です。 多忙でまとめるのが遅くなってしまいました。 WWDC2017 レポート & Quick Look Preview Extension について WWDCに行った感想 英語の勉強にもなるし良い経験になる メリット 1週間、WWDCに集中できる(…

メタプログラミングRuby - 2章 月曜日:オブジェクトモデル(その1)

前回に引き続きRubyのメタプログラミングについて学んでいきます。 オープンクラス 既存のクラスにメソッドを追加する Rubyのクラスは標準ライブラリも含めて「オープン」であり、 あとからメソッドを追加したり、既存のメソッドを置き換えたりすることが可…

Kotlin で HelloWorld(コマンドライン編)

さて前回に続いて、今度はコマンドラインで Kotlin のHelloWorldをやってみたいと思います。 公式ドキュメントのチュートリアルを見ながら進めていきます. インストール まずは念のため既にインストールされていないか確認します。 $ kotlinc zsh: command n…

Kotlin で HelloWorld(IntelliJ IDEA編)

世の中はKotlin一色ですね。(言い過ぎ?) そんなわけで私もKotlin始めてみようと思います。 まずは IntelliJ IDEA(Community Edition)をつかってサクッと。 IntelliJ IDEAのダウンロード 公式サイトからCE版をダウンロード。 www.jetbrains.com 無償のCE…

potatotips #40 に参加してきました。

はじめに (2017/05/27追記) 新たに公開された発表資料を追加しました。 以下のイベントに参加してきました。 potatotips.connpass.com 実は当日まで参加予定ではなかったのですが、 偶然にもAndroidのブログまとめ枠が一人空いたとのことで急遽参加させて…

技術用語メモ

新しく知った技術用語とかをダンプするようの記事。 Capistrano Rubyによる構成管理ツール。AnsibleのRuby版っぽいイメージ? 用語を知った場所: Capistranoを使ってS3等からpull型デプロイするgemを書いた、ほか — Mobage Developers Blog GCP Google Clou…

RubyでConsリスト

試しに書いてみた。 もうちょっと良い書き方ありそう。 ちなみに三項演算子を使おうとも思ったけれど、 xxx.nil? ? ... という感じで?が連続して違和感抜群だったので使わなかった。

メタプログラミングRuby第二版::一章 - 頭文字M

メタプログラミングRubyを読んで、理解のために自分なりにまとめていく。 基本的にテストコードをRSpecで記述していく。 メタプログラミングとは? コードを記述するコードを書くこと。 Rubyは実行時にクラスやメソッド、インスタンス変数など、様々な情報を…

MongoDBメモ(その1)

dot install のレッスン動画を見ながら勉強。 http://dotinstall.com/lessons/basic_mongodb_v3/35001 この記事の範囲。 - 01 MongoDBとはなにか? - 02 MongoDBをインストールしよう - 03 用語を理解しておこう - 04 データベースを操作してみよう - 05 コ…

try! Swift 2017 Tokyo に参加してきた - 2日目:午前

さて2日目です。 https://www.tryswift.co/tokyo/jp 1日目と同様にその場でのメモと感想を書いていきますが、ちょっとボリュームが大きいので午前・午後の2つに記事を分割したいと思います。(個人的に見返しやすくもあるので) テスト可能なコードを書くと…

try! Swift 2017 Tokyo に参加してきた - 2. 1日目

1日目の内容を感想を混ぜつつまとめていきます。 https://www.tryswift.co/tokyo/jp 通訳で聞いた内容で、ちゃんと聞き取れなかった箇所もあったと思うので間違っている箇所もあると思います。 なお迷ったのですが、箇条書きについては発表の場で書いたもの…

try! Swift 2017 Tokyo に参加してきた - 1.全体を通して振り返る

はじめに 参加してきました。 https://www.tryswift.co/tokyo/jp 家に帰ってから記事を書くまでがカンファレンスです、という名言を最初に聞いたのはXP祭りだったでしょうか? そんなわけで今回も個人的な感想を書いていきたいと思います。 おそらく長くなる…

Swift3 例外メモ(try、try!、try?、do-catch)

try?の仕組みとか曖昧になってしまったのでメモ。 例外のスロー 例外をスローする関数はthrowsを宣言(書く位置は引数宣言の直後) スローする例外はErrorプロトコルを実装している必要がある enum MyError: Error { case notFound case fail(String) } func…

Vagrantfile: Ubuntu14.04 で Swift製Webフレームワーク「Vapor」を使える状態にする

Swift製のWebフレームワークである「Vapor」をUbuntuに入れてみた。 github.com せっかくなのでVagrantfileを書いてみた。(たぶんこれが一番楽だと思います) ちなみにVagrantについてはドットインストールの動画が分かりやすいです。 http://dotinstall.co…

ブログデザインの変更

以前から表示が重いのが気になっていた+2017年になったので変更してみましたぞい。

Vagrant + CentOS7 で、RustのWebフレームワークRocketを発射する

Linuxとか環境面詳しくないのでメモ。 Rocketは最近出たRustのWebフレームワーク。 https://rocket.rs 環境 VirtualBox: 5.0.30 Vagrant: 1.9.1 CentOS: 7.1 Rust: 1.16.0-nightly Rocket: 0.1.2 ちなみにこれを書いている時点で最新のCentOSは7.3だったけれ…

Swift3: バージョン番号を楽に比較する

なんか面倒だったので書いた。 これがSwift使いの戦い方。たぶん。Swiftコンパイラに詳しくないけど、こういった構造体でラップするだけのコードって最適化後はゼロコストになるのかしら? (Haskellのnewtypeはゼロコストだったはずだけど)

SwiftでApplicative Style

書いたことなかったので書いてみた。 我流なのでいい感じに出来てるかは微妙だけどApplicative Styleがパーサ周りで有効活用できるという確かな実感は得られた。 Swift 4で(?)ジェネリクスが強化されれば、Haskellの型クラスのようにProtocolでもジェネリ…

iOSオールスターズ2に参加してきた感想

帰ってブログ書くまでがイベントって言われたので書くよ! eventdots.jp ブログなので当然ですけれど、私が思ったことをそのまま書いてます。 (とりあえずファーストインプレッションをダンプしてきます) あ、登壇者の皆様、本当に貴重な情報をありがとう…

Qiita記事「Haskell チュートリアル (Haskell Day 2016)」を読んでメモ

以下を読んでメモ。 Haskell チュートリアル (Haskell Day 2016) から学んだこと http://qiita.com/hiratara/items/169b5cb83b0adbfda764 Shell以降は新しいことばっかりだったのと、元記事の完成度が高すぎて途中からは殆ど写経みたいになってしまった。 基…

Haskell :: CSVフォーマッターを書いてみた

勉強がてら試しに書いてみた。 なんというか・・・以外と難しいね!! ちなみに全角文字に非対応なのでそのうち。

AtCoderに挑戦 - ACR001、ACR002 :: Haskell

関数プログラミング実践入門の巻末に載っていたAtCoderにHaskellで挑戦してみた。 001は、sortとgroupを活用すればすぐ出来ることが分かった。002は、すごいH本に載っていたチェス盤のナイトのコードを参考にして、リストモナドを使って解いてみた。実際にコ…

関数プログラミング実践入門 メモ - 第4章 評価戦略

関数プログラミング実践入門の4章「評価戦略」を読んだので簡単にメモ。 遅延評価(lazy evaluation) 実際に使うまで計算しないという計算順序の規則 たらい回し関数(竹内関数)は、積極評価だと実行に時間がかかり、遅延評価だとすぐ完了する関数(の例)…