読者です 読者をやめる 読者になる 読者になる

woshidan's blog

そんなことよりコードにダイブ。

ERROR: resizing partition e2fsck failed with exit code 8

stackoverflow.com Androidのエミュレータの設定をいじっている最中、上図のエラーダイアローグを稀によく見かけていたような気がするのですがいままで原因がわからないうちになんか回避してしまっていたのでした。その原因と対応がなんとなくわかったのでメ…

AppiumでiOSのテストのサンプルを動かすところまで

iOSやAndroidのUIテストをSeleniumのように書くことができるAppiumというものがあるそうですが、 説明を見ていてもさっぱり挙動がわからなかったので、動かしてみたメモです。 各種のバージョンは Appium 1.5.3 maevn 3.3.9 です。スクショにAviraが映ってい…

iOSのidentifierForVendorとadvertisingIdentifierについて

iOS

お仕事で調べる必要があったのでメモ。 identifierForVendor https://developer.apple.com/reference/uikit/uidevice/1620059-identifierforvendor?language=objc アプリのベンダー(開発元)ごとにデバイスが一意に見えるように発行されるアルファベットと数…

後からコード上でBitmapを与える場合、ImageViewのadjustViewBounds=trueの指定が動かない

結論 onMeasureで一部人間にはよく分からない動きをしている気がします。 ImageViewのandroid:adjustViewBounds属性がtrueで、ImageViewの幅などを直接指定していない場合 ImageViewを許される限り拡大した場合の高さと幅を求める(widthSize/heightSize) 上…

RubyとrbenvとgemとBundlerと環境ごとのgem

いまさらですが、こないだ会社でRailsに携わるもののたしなみとしてnokogiriのインストールにはまったときに先輩に教えていただいたときのメモ。 rbenvでRubyのバージョンを管理している場合、local*1やglobal*2を管理している際、systemと表記されているの…

RailsのModelのvalidatesメソッドを見て単純なバリデーションテストを生成するgemを書きました

github.com 表題の通り、RailsのModelのvalidatesメソッドを見て単純なバリデーションテストを生成するgemを書きました。 書いた理由 RailsのModelの基本的なバリデーションのテストは時々、Rails Tutorialやドキュメントのコピペと何が違うのだろう、これは…

AndroidのImageViewのscaleTypeについて(コード読んだメモ編)

前の記事の検証する前に、いまいち動作がはっきりしないところがあったのでコード読んでいたときのメモです。 力尽きたので雑なのですが。。 どこでscaleTypeの設定を適用しているかを調べるために、 https://github.com/android/platform_frameworks_base/b…

AndroidのImageViewのscaleTypeについて(検証結果スクショ編)

AndroidのImageViewのscaleTypeについて試したのでまとめました。 検証結果について 検証用画像 検証結果スクショ 次の記事であるコード読んだときのメモのところで軽く触れているのですが、各種ScaleTypeはサイズがぴったり合っていたら何もしません。その…

build.gradleでminifyEnabledをtrueにしてもActivityはminifyされない

まとめ Activityはgradleの設定でminifyをかけてもminifyされない minifyされているかの確認をしたかったらJavaだけのクラスを仕込んで見るのがお手軽 検証1 gradleでminifyの設定をした時、うまくいっていたらActivityのクラス名がaなどになっているだろう…

Objective-Cのクラス変数について

C言語とObjective-Cでstatic修飾子をつけて変数を宣言したときの挙動 Javaを書いてからObjective-Cのコードを見ると驚くのですが、Objective-Cの元となっているC言語、およびObjective-Cでは関数やメソッド*1の中で有効であり、特にそう書いてない場合は初期…

プログラマが知るべき97のことを読みました

今月全然ブログ書いてなかったので書きます。 最近はObjectiveCやC言語の勉強をやっていてそちらを書けばいいじゃない、という気がしたのですが、 少し疲れてしまった。だいたい最初に詳解ObjectiveCから読んだせい(自業自得)。 その後少しずつObjectiveCプ…

JavaScriptでファイルのバイナリを送信するときと文字列のパラメータのみを送信するときに利用するリクエストボディの構成が全然違う

WebWorkerからサーバーへ通信を行いたくて、SafariだとWebWorkerではまだFormDataが使えない*1ので手動であれこれ頑張って調べていて*2面白かったことがあったので、メモ。 調査していた趣旨としては、FileAPIのFileReaderAPIのreadAsBinaryString()*3やread…

irbの実行結果の出力が非常に長い場合、途中からカットしたい

最近しばしば行う作業のログが、おそらく人間の目には確認できないほど長く、また件数的におそらくログから確認を行うことはしない*1ということもあり、じゃあ使わないログはある程度短くしたいですね、ということで調べました。 具体的には、属性がたくさん…

OmniAuth(omniauth-twitter)での認証が401 Authorization Required invalid_credentialsで失敗する

OmniAuth系のライブラリでTwitterやFacebookなどのサービスと連携しようとしたところ、401 Authorization Required invalid_credentialsでひたすら失敗してつらかったです。 特にTwitterのAPIには、401でないエラーを401で返すという話もあり*1、結局関連す…

memcachedの使い方について簡単にメモします

動作環境は、Max OS X EI Captain 10.11.4, memcached 1.4.24 です。 memcachedのインストール # http://qiita.com/makotok7/items/9998b15f79fc7a53af24 brew install memcached localhostの11211ポートでmemcachedサーバを起動 $ memcached -p 11211 -d 詳…

MySQLで外部ホストのデータベースにクエリを送りたい

最近開発するために開発する環境を作っている私です。 MySQLで外部ホストにたいしてSQLを送るにはどうしたらいいのかなーと悩んでいたのですが、あっさり解決したのであっさりメモします。 まとめ MySQLにおいて基本的に外部ホストへはアクセスできないよう…

SPFってなんですか?

お仕事でSPFについて確認したのでブログにもメモを置きます。 参考: http://salt.iajapan.org/wpmu/anti_spam/admin/tech/explanation/spf/ 他 SPFについて メールの送信元の詐称を防ぐための認証技術 他に似た目的で「DomainKeys Identified Mail(DKIM)」、…

DNSサーバの種類とDNSサーバの受ける問い合わせの種類についてまとめました

speakerdeck.com 参考のところに載せてるんですけど、DNSについて勉強する前に読みたかった資料です*1。もし、他の人がこの記事を見てDNSについてちょっと調べてみようと思ったら3分くらいは眺めてから調べ始めるとはかどると思います。 http://2014.seccon.…

DNSの概要と耐障害性、リソースレコードの読み方(BIND式)をまとめました

再帰問い合わせとかまで行こうとしたらスライドが50枚超えてたから打ち切り。 自分のスライドの作り方どこかで見たな、と思ってたんですが、ニコ動の攻略解説動画だ、たぶん。 少しずつ説明してもらわないとわかんない残念な頭をしている...! speakerdeck.com…

DNSキャッシュポイズニングについてまとめました

ネットワークの勉強をして色々挫折中。 とりあえず、外部連携するときにFTPとか色々クライアントかませるんだけど、そのトラブルシューティングや、サービスの中でつないでいる各種サーバへの接続設定にもこの辺の知識があると便利そうということだけわかっ…

Support LibraryのNavigationViewでどこまでできるのか試してみる

久しぶりにサイドメニューのコードいじろうかと思ったのですが、デザインのカスタマイズ性の都合でサードパーティライブラリを使うのが辛く、ここから整理するよりSupport LibraryのNavigationViewを使って書き直した方が楽ではないか、と思ったので、どこま…

Mac OSにmecabをインストールしてnattoを利用してrubyからmecabを叩いてみる

ちょっとある程度の量の短文から単語の出現頻度を抽出する必要があり、さわったのでメモ。 Mac OSにHomebrewでmecabをインストールする Homebrewを通して入れます*1。 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/m…

Google App Scriptでセルを扱う

はてなが俺たちのはてなじゃない...。 諸々の集計業務を担当することになって、コピペを効率化しようと思ってGoogle App Scriptを調べたのでまとめます。 内容 特定のセルの値を取得 特定のセルに値を貼り付け 他のファイルのソースコードを参照するときの手…

Spinnerのレイアウトをコードで変更する

スタイルを利用した指定がうまく動かなかったり見つけるまでにちょっと時間がかかったりしたので、まあ適当にメモ。 android:id="@android:id/text1"と@android:id/text1がidに指定されたTextViewだけのレイアウトリソースを用意 Spinnerの要素をセットする …

SSL/TSLについて少し勉強しました

内容 SSL/TSLで使うプロトコルの設定について SSL証明書のインストールの大まかな流れ プロトコルのバージョンと利用出来る公開鍵証明書のハッシュ関数について SSL/TSLで使うプロトコルの設定について SSL/TSLの利用はApacheやnginxなどのWebサーバのソフト…

UI用のクラスのプロトコルとWebViewなどについて

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

XCodeのデバッガについて少しだけメモ

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

UIButton, UIAlertController, UITextView, UITextFieldあたりに触りました

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

タッチベントの処理とタイマーの処理について

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

UIViewのメソッドにCGContextRefオブジェクトを渡してStoryBoard上に図形を描画する

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

画像をStoryBoard上で描画する

内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming bible)作者: 布留川英一出版社/メーカー: ソシム発売日: 2015/10/27メディア: 単行本この商品を含むブログ (1件) を見る 上の本を参考にiOSのUIViewと戯れています…

カスタムビューの配置方法と文字のフォント設定、描画領域のサイズ取得について

今日から少しずつ慣れてこーってことでターミナルでREPLからXCodeに戻ってきたんですが、XCodeって入力してると、にょん!って補完が出てちょっと楽しいですね...。 内容 iPhone/iPadプログラミングバイブル iOS9/Xcode7/Swift 対応 (smart phone programming…

はてな教科書の「プログラミング言語 Swift」を読んでます 7

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。一旦ラストォ! Generics 特定の型ではなくて、同じ種類ならどの型に対しても対応したい、みたいな場合に使います。 Javaだとだいたい一文字…

はてな教科書の「プログラミング言語 Swift」を読んでます 6

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。もうちょい! Casting isでインスタンスの型を確認. 84> class Cat: Animal { 85. // 86. // A'(A をオーバーライド。ここに required 修飾…

はてな教科書の「プログラミング言語 Swift」を読んでます 5

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md イニシャライザが難しかったのですが、のんびり読んでいきます。 Inheritance class名の右に:をつけてスーパークラスを指定することでそのクラスを継承することができ…

新卒向け社内研修でテーブル設計と正規化の基本の話をしました

speakerdeck.com 新卒向け社内研修でテーブル設計と正規化の基本の話をしました。 理論から学ぶデータベース実践入門 ~リレーショナルモデルによる効率的なSQL (WEB+DB PRESS plus)作者: 奥野幹也出版社/メーカー: 技術評論社発売日: 2015/03/10メディア: 単…

はてな教科書の「プログラミング言語 Swift」を読んでます 4

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 Reference types 参照型の値は、変数間で同じ状態を共有する。 参照型の変数の場合、オブジェクトの参照先をコピーして、オブジェクトの中…

はてな教科書の「プログラミング言語 Swift」を読んでます 3

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 Functions guard guardは関数の early exits をサポートする構文 guardの条件式に書かれた条件が満たされなかったら終了したり、異常の場合…

はてな教科書の「プログラミング言語 Swift」を読んでます 2

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 Control Flow For-In 範囲(cf. 0..<3)には不等号で含まれるかどうか示すことができる For - Inにはwhere節で渡した式が真になるもののみブ…

はてな教科書の「プログラミング言語 Swift」を読んでます 1

https://github.com/hatena/Hatena-Textbook/blob/master/swift-programming-language.md のんびり読んでいきます。 序文を読んで LLVM と Clang はその後の Apple プラットフォームにおける標準的なコンパイラの地位を占め、また OSS のコンパイラとして多…

Androidを触っていた人がiOSのOSやクラスライブラリの概要について本を読みました

「iOSもAndroidもスマートフォンなのだから、まあなんとか」と思って本を買って読み始めたところ、想像していた以上に違いがありそうで楽しそうですね、という感じでした。 iPhone・iPadとiOSについて OSのバージョンごとに出てきた機能について コピー&ペー…

rubyとAndroidを触っている人がObjective-Cを一年以上ぶりに見たときの感想

こちらを参考にしながら、Objective-Cを一年以上ぶりに見たら結構面白かったので少しでも覚えられるようにメモをします。 オブジェクトの生成 NSObject *obj = [[NSObject alloc] init]; 往時は、くらくらするだけだったんですが、 rubyやJavaをある程度いじ…

CocoaPodsをつかってみてRealm入れてビルドしようとしたら「~.h」ファイルがないと言われてつまづいた

有線LANのアダプターを購入した結果無事、pod setupに成功いたしました。めでたい。 gitのネットワークの設定より、物理的にネットワーク環境を変えられるのであれば変えたほうが早いですね。 CocoaPodをセットアップする前にはLANのアダプタを無線wifiから…

XCodeでStoryBoardのPreviewをする

とりあえず、CocoaPodsを触ってみた、というブログ記事を書こうと思ったところ、自宅の回線 + 無線LANの組み合わせでは 5時間格闘してもセットアップに成功する気配が一向に見られず、諦めて有線のアダプタをぽちったところです。 有線のアダプタでもだめな…

AndroidのWidgetで時計を作ってみる

Androidを立ち上げたらホーム画面にいくつか時計や天気予報などが表示されていると思うのですが、AppWidgetクラスを利用してそういったホーム画面に表示されるウィジェットを作成することができます。 今回は時計もどきを作成してみたのでそのときのメモです…

Subscriber.onErrorが呼び出されると、それ以降のonNextメソッドは

いまさらなんですが、RxJavaでは一度Subscriber.onErrorが呼び出されると、それ以降のonNextメソッドや onCompleteメソッドは呼び出されないということを確認いたしましたので、そういう感じで。 // Gradle compile 'io.reactivex:rxjava:1.1.6' // RxAndroi…

No such property: main for class: org.gradle.api.internal.file.DefaultSourceDirectorySet

stackoverflow.com Android Studioのバージョンアップをしたら上記のページにあるような No such property: main for class: org.gradle.api.internal.file.DefaultSourceDirectorySet Possible solutions: name というエラーが出ました。 やったこと Androi…

転送と委譲の定義について

自分で書いてて、あれ、どっちがどっちだっけ、と少し混乱したので手持ちの本をぱらぱらと見て整理してました。 Effective Javaに書いてある転送と委譲の定義みたいなもの 以下は、Effective Javaに書いてある説明をざっとまとめたものになります。 転送 転…

前回のビルドのプロセスがキャッシュファイルのロックを取っていてAndroid Studioのビルドができないとき

Android Studioでビルドをしていると、なかなかビルドが終わらずに途中でキャンセルしたり、ついAndroid Studioごと強制終了できないかなと考えて実行してしまったりします。 そうしてビルドを終了させても前回のビルドが正常に終了せず、前回のビルドのプロ…

crontabの内容を管理するgem whenever の使い方を復習した

DSLっぽいrubyを使ってcrontabの内容を管理するgem whenever の使い方を復習しました。 本家GitHub https://github.com/javan/whenever # Gemfile gem 'whenever', '= 0.9.4', :require => false $ wheneverize . # [add] writing `./config/schedule.rb' [d…