woshidan's loose leaf

ぼんやり勉強しています。

$ANDROID_HOMEってどこさ

環境変数 JAVA_HOMEとANDROID_HOMEと、時々、PATH Android SDKのパスのことで、ここだ。 なお、$NDK_ROOTなどを聞かれた場合は、$ANDROID_HOME/ndk-bundleであることが多い。 sdk$ ls add-ons docs lldb platform-tools sources tools build-tools extras nd…

Xcode Command Line Toolsのインストール

Apple IDでサインインして下記URLへ。 Sign in with your Apple ID - Apple Developer 利用するバージョンのCommand Line Toolsを探してDL(いくつかツール種別のチェックを外した方が探しやすい). あとはDLしたインストーラをぽちぽちすればOK.

Homebrewでgitのバージョンを上げた後、実行されるバージョンを変える

本当は、 brew uninstall git brew update brew install git すればいいんだけど、慌てて後者だけやって、Homebrewの管理するディレクトリが二つできて、名前順で古い方が優先されてどうしようかな、ということに(なぜだ)。 もう少し状況をまとめると 新しい…

使い道がよくわからなかったのでScaleDrawableで遊んでみた

楽しい。 FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { int i = new Random(System.currentTimeMillis()).nextInt(8000);…

Rubyのgemをインストール際に要求されるnative extensionとは何者か

stackoverflow.com gemのnative extenstionは、それの事前インストールを必要とする別のライブラリ(gem)とリンクさせてもよいRubyが動く環境(rbenvなどの管理下ではなくPCなど)に入っている、主にCやC++などで書かれるライブラリ。 それの事前インストールを…

StoryBoardを使わない方法 at Swift

qiita.com 上記の記事をSwiftでやりました、というお話です。 import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application(application: UIApplication, didFinishLaunchingWithOpti…

Android StudioのEditorのフォントの色を編集する

~~ の箇所はIDE上に警告でません? というようなことを一ヶ月で3回くらい言われて、 「あ、これ、普通に気付いてない。注意以前に見えてない」ということで、警告を目立つ色で表示させるために調べた。 メニューの「Android Studio > Preferences」から「Pre…

C言語の値渡しとアドレスを知る引数、配列のアドレスについて

C言語の関数の引数はすべて値渡しだそう。 関数の中で、引数で渡された構造体などの中身を変更したい時は、&演算子でその変数のアドレスを求めて、そのアドレスを値渡しで渡す。 そして、関数の中でアドレスに対応するメモリの値を書き換えることで、&演算子…

数学ガール6章まで読んだ

定数はa, b, c... 変数は x, y, z... が多い 相加相乗平均の例、a=+2, b=-2だと絶対値が同じな特殊なケースなのでは、と思ってb=-1にして計算したりした 離散的な世界での差分 <=> 連続的な世界での微分 差分を求めるために下降階乗冪を使うのが計算の都合上…

蟻本の1-6の続き

のーみそこねこね。 衝突して折り返していく -> 蟻を区別しなければ、蟻全体の動きとしては、そのまま進んでいく状態と一緒 最短 -> それぞれの位置の蟻が最短で着く方法 最長 -> それぞれの位置の蟻が最長で着く方法 4枚のくじを引いた時、4枚の合計値がmに…

蟻本の三角形をrubyで書いた

三角形 n本の棒があります。棒iの長さはa_iです。あなたは、それらの棒から3本を選んでできるだけ周長の長い三角形を作ろうと考えています。最大の周長を求めなさい。ただし、三角形が作れない際には0を答えとしなさい。 一番大きな辺が他の2つの長さの合計…

mp4ヘッダーのボックスとは

mp4 ヘッダー でぐぐったらボックスって出てくるのですが refs. http://matsu623a.blogspot.jp/2013/12/mpeg4ftyp.html mp4 ヘッダー ででてくるのは引用元が少なくてあれなのですが、 だいたいファイル冒頭にあるファイルのメタデータ持ったバイト群および…

数学ガール(無印)4章まで

最近本体ブログと使い分けに悩んでるんですが、本の読みかけで表に出せそうな感想やメモはこっちに書きましょうか。 昔から数学がたいそうできずに数式に怯えて生きてきて、大量にインターネットに流れてくる「数学ガールいいよ」の声に負けてとうとう手に取…

ObjectiveCのソースコードをclangでコンパイルした時Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_NSObject", referenced from: ... のようなメッセージが出てくる

症状 #import <Foundation/NSobject.h> #import <stdio.h> int main() { id obj = [[NSObject alloc] init]; ... } $ clang -o ref1 ref1.m Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_NSObject", referenced from: objc-class-ref in ref1-62be76.o "_objc_msgSend", refer</stdio.h></foundation/nsobject.h>…

ネットワークの勉強に関するメモ2

ネットワークとセキュリティ用語1 NIDS(Network Intrusion Detection System)は侵入を試みる不正アクセスを検知して、いろいろ動いて管理者に通知を送る HIDS(Host Intrusion Detection System)はサーバ上のファイルが改ざんされてないか確認する ペネトレー…

ネットワークの勉強に関するメモ

インフラ周りわからなすぎて最近ネットワークの勉強をしているのですが、わかってないことだけひたすらわかっていき、闇。 ICMP(Internet Control Message Protocol) ICMPはIPメッセージが送信元から相手に届くまでの間に起きたエラー関連の情報を送信元に通…

MySQLでdate型の値から対応する年, 月, 日の数字を抜き出す

ディレクターさんが使ってたのでメモ。 以前グーグルさんに聞いたら正規表現のものが出てきていたけど、 月ごとなどでグルーピングしたいときにはこっちの方がいいかもです。 MySQL :: MySQL 5.6 リファレンスマニュアル :: 12.7 日付および時間関数 // MONT…

rbenvでrubyをバージョンアップする

rbenvでrubyをバージョンアップする場合の手順 # インストール可能なrubyのバージョンの一覧を調べる $ rbenv install -l # rbenvで新しいバージョンを管理できるようにする $ brew update # 何らかのライブラリをアップデート, インストールする前にbrew自…

インタフェースって実装する側より実装を利用する側にとって重要

d.hatena.ne.jp これを読んで、またオブジェクト指向についてきちんと勉強したくなった次第。 インタフェースってどのクラスのためにあるのかモヤモヤしてたんだけど、 インタフェースって実装する側より実装を利用する側にとって重要なのはそうだよなーって…

Android StudioのバージョンとjdkとGradleのDLできるバージョンは関係があるのかもしれない

かもしれない話だからチラ裏の方でひっそり書くのですが、Android Studioを2.0から2.2にバージョンアップして、もともと1.7のjdkが入っていたところに1.8のjdkを入れました。 そうしたところ、もともと1.7のjdkでビルドしてたプロジェクトが Could not find …

Android Monitorで監視している端末のスクリーンショットを撮る

別の機能を確認しようと思っていたら便利そうな機能を発見したのでメモ。 Android Monitorのメニューの左側のカメラアイコンをクリックします。 すると、現在Android Monitorで監視している端末のスクリーンショットを出力するためのウィンドウが起動します…

Impossible WHERE noticed after reading const tables

Explainの結果の中に見かけない出力を見つけたので調べました。 d.hatena.ne.jp ↑の記事によると、「ユニークキーを使って絞り込んだ後、データが見つからなかった場合に発生する」Extraのメッセージらしいです。 MySQLのドキュメントによりますと、 MySQL :…

SwipeRefreshLayoutの中にあるRecyclerViewにLayoutManagerをセットする前にタッチすると落ちる

SwipeRefreshLayoutの中にRecyclerViewのあるFragmentがあって、 データの読み込みを待ってから、Adapterなどをセットしようと考えていたら、 データが読み込まれる前にRecyclerViewの部分をタッチすると落ちてしまっていた。 E/AndroidRuntime: FATAL EXCEP…

RxJavaでやりたかったことが少しわかってきた

勉強が進んできて、ようやく qiita.com で紹介されていることの意味がわかってきて嬉しくなったので、今日はバックグラウンドのスレッドでしばらく待ってから、 UIスレッドでログを出す & それをボタン押して止める、みたいなサンプルを書きました。わいわい…

日付っぽい文字列を日付にする

SET @TEST_STR='xxx: yyy, datetime: 2016-03-25 22:22:16 +0900'; select STR_TO_DATE(SUBSTR(@TEST_STR, INSTR(@TEST_STR, 'datetime') + 10, 25), '%Y-%m-%d %H:%i:%s'); +----------------------------------------------------------------------------…

RetrofitのファイルDLでハマった話

原因をはっきり検証したわけでなく体感的なメモに近いのですが、対応していて面白かったので、適当に業務に関する部分のコード削りながら、こっちに置きます。 Retrofitの通信処理をバックグラウンドに指定して、InputStream型のレスポンスの処理をメインス…

http://shinh.hatenablog.com/entry/2016/03/11/142748 まずあまりマジメに相談せず勝手にやるってこと。相談すると、5割くらいの確率で「俺がやってるプロジェクトでその問題は解決するよー」とかいう返事が帰ってくる気がする。やる気が損なわれる。「それ…

アプリ側で使っていてAPIについて思ったこと

今度自分が書くとき用に。 副作用のある操作がなく参照/バリデーション(登録などややこしい処理の場合)ができる ユーザーの情報を確認したら一部情報が更新されるタイプのAPI,やや辛い 一覧ではなく単体でデータの参照ができる だいたいリソースは単体で404…

Realmのmigration中に「java.lang.IllegalArgumentException: Field already exists in 'Table': column」的なエラーで意味も無くはまった話

Realmで下記のようなmigrationのコードを書いていまして、よし、久しぶりにmigration前のバージョンからの移行処理を書こうか、と思ったところ、 public class Migration implements RealmMigration { @Override public void migrate(DynamicRealm realm, lo…

電池消費量の最適化を読んだ

http://developer.android.com/intl/ja/training/monitoring-device-state/index.html を読んだ雑な感想 開発するアプリの中でホスト端末の状態を監視し、それに基づいて機能や動作を変更することができるようになります 接続が失われたときはバックグラウン…

Improving Layout Performanceを読んだ

http://developer.android.com/intl/ja/training/improving-layouts/index.html を読んだ雑なメモ。 Optimizing Layout Hierarchies http://developer.android.com/intl/ja/training/improving-layouts/optimizing-layout.html 基本的なレイアウトを使うこと…

Keeping Your App Responsiveを読んだ

http://developer.android.com/intl/ja/training/articles/perf-anr.html 上記を読んだ雑なメモ。 システムはアプリケーションが一定以上の時間応答しないとANRダイアローグを出して、そのアプリケーションを閉じるかどうか尋ねて、ユーザーにアプリを閉じる…

それっぽい名前なのに `Theme_Material_Dialog` は普通のダイアローグに使えない(使わない?)

Material Designっぽいのをやりたいと思ってTheme_Material_Dialog, ThemeOverlay_Material_Dialogをスタイルに指定すると 全画面で出てくるぞ! 気をつけろ...

Android Studioをアップデートしたら<interface declaration>,<parcelable declaration>, AidlTokenType.import or AidlTokenType.package expcted got 'wrap_content'

Android Studioをアップデートしたら表題のエラーが出てImageViewのlayout_widthが指定できなくなりました。 世界には他にもこう言う人がいたらしく、下記のStackOverFlowを真似して、File > Invalid Caches / Restart ... したら解決しました。 stackoverfl…

SwipeRefreshLayoutはCoordinatorLayoutを包める(!)

SwipeRefreshLayoutはCoordinatorLayoutを包める(!) swipeLayout.setProgressViewOffset(true, 30, 250) のようにSwipeRefreshLayoutのIndicatorの出てくる位置を調整できる ルートレイアウトをSwipeRefreshLayoutに変えた場合ImageViewはStatusBarが透明で…

インターネットが止まると

Android Studioでの開発も止まる。 主にGradleのbuildのResolve class dependenciesあたりで、外部ライブラリの取得が出来なくなって止まる。 そういう日はお休みでいいと思います。

他のアプリと連携したい

BroadcastとBroadcastreceiverとばかり思っていましたが、startActivityでもいけるらしいし、色々あるみたいです。 techbooster.org Starrow Devlog: [Android] intentでカメラアプリを呼び出し画像を取得する android.keicode.com techbooster.jpn.org

Retrofitがタイムアウト

関連しそうなもの qiita.com [Google App Engline for Java]SocketTimeoutExceptionの原因 - PSI Labs https://github.com/square/retrofit/issues/641#issuecomment-60674680 画像アップロートしようとしたら下記のようなエラーで度々止まってひよってる。 …

スクロールしないRecyclerView

参考: stackoverflow.com べんりぃ。 package com.example.woshidan.layouttokkun; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.util.AttributeSet; import android.view.MotionEvent; /** * Created b…

Amazonが半導体産業にくるらしい

bylines.news.yahoo.co.jp japan.zdnet.com ロボットやCPUのくだりはよくわかんなくて、下のも読んだところ、個人的にはデータセンター用のルーティングとかの通信アルゴリズム改善と、スイッチング周りの回路の設計/開発のような印象を受けました。 CPUなど…

分析をする前の話

0と1と10と100と1000を足して5で割るみたいな平均値出して分析しました案件に遭遇してなんだかなってなったので、ひっそりとメモ。 自分はただのWebエンジニアでありデータサイエンティストとかそういうのじゃなくて、Web系のエンジニアが仕事の片手間にどう…

Android調べてて出てきた固有名詞

知らない単語が出てきたらその都度ちゃんと調べましょう...(scrimとfull bleedがよくわかんなくて結構時間を無駄にした...) multiplier 1)「乗数」.乗算の因子の一つで,被乗数に掛ける因数のこと. scrim スクリム 《目の粗い薄手の綿布[麻布]; 家具の裏張り…

少しbuild.gradleを読んだ。

http://gradle.monochromeroad.com/docs/userguide/application_plugin.html Android Studioで入れた拡張で、コーディングのときに利用するものを使う。 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' http://gradle.monochromer…

Toolbarを置くレイアウト要素にはPaddingを設定しない

ToolbarはAppcompatActivityクラスでゴニョゴニョしてくれるActionBarと違って普通のViewGroupなので、Toolbarを置くレイアウト要素にPaddingを設定すると、Toolbarを画面端の間に隙間が出来てかなり微妙なことになる。 なので、下記のように本来のActivity…

Drawableリソース等のフォルダ別のインポートがうまくできない

Android Studioでうまく画像のリソースのディレクトリの階層化に対応できなかった。 最終的に手動で階層のフォルダを作り、Finderから手で入れた。 すると、Android Studioがそれを読み込んでくれていた。びっくりする。 下記を導入すると楽にこの辺をやって…

リソースファイルが見つからない

res/drawableディレクトリに放り込んだshapeのidがどうしても見つからなくて、登録した覚えのないresourceのidばかり出るからどうしたのか、と思っていたら、本当はcom.exmaple.R(自分のResource用のパッケージ)をインポートするところをandroid.Rをインポー…

応用情報の反省を供養します

応用情報を受けていたのですが、午後の自己採点がぎりぎりこれは落ちたかなという感じだったので供養しておこうと思います。 全体として 10点分くらい見直しでみすっていてもったいなかった...。穴埋めの穴の周りまで書いちゃうとか...。 IPアドレスの最後の…

com.android.support:appcompat-v7:22.0.1 が見つからない

ほんきで学ぶAndroidアプリ開発入門 Android Studio、Android SDK 5対応作者: 寺園聖文出版社/メーカー: 翔泳社発売日: 2015/07/13メディア: Kindle版この商品を含むブログを見る 上の本に従って勉強を進めよう、と思ったのだけど、build.gradleの下記の場所…

静的プレースホルダと動的プレースホルダとセキュリティ

セキュリティ勉強会に参加して気になる事があったので、プレースホルダ周りだけ切り出して考えてみようと思ったけど、読み直していたら普通に書いてあって恥ずかしかったので、こっちに置く。 前提確認 静的プレースホルダと動的プレースホルダ プリアドステ…

ノン・デザイナーズ・デザインブックとbash入門のメモ

ノン・デザイナーズ・デザインブック フォントのところまでパラパラと読んでた。 近接 整列 反復 コントラスト を何度も具体例とともに見ていた感じ。 どれも意識は必要なのだけど、整列やコントラストと言った部分はデザイナさんに調整していただく部分が大…