woshidan's blog

あいとゆうきとITと、とっておきの話。

2015-01-01から1年間の記事一覧

API16以下でツールバーのアイコンを一番左端まで表示したい

Toolbarに載せるアイコンについて、基本的に余白は空けるものなのですが、ここぞというところで、どうしても左端まで表示したいの、という場面がありますよね、ということで実装してみました。 API16以下の場合の実装で、17以上はandroid:paddingLeftの負の…

AndroidのToolbarの左側の余白の指定について

ぐぐればぐぐるほど一体どれがどれなんだーってなったので、まとめ。 一部指定が効く、効かないがあったとしてもどの要素に効くとかはさすがに変わらないでしょ...。 Activityのコード @Override protected void onCreate(Bundle savedInstanceState) { supe…

ToolbarのNavigationIconとして48dpでないアイコンを指定した場合

Toolbarの48dpのアイコン用領域の中心を指定したアイコンの中心として配置される*1。 上詰めとか、左詰めではないみたい。 Toolbarのlayout_heightがandroid:layout_height="?attr/actionBarSize"の場合、48dp用アイコンの領域に対し、左側に4dpのPaddingを…

RecyclerViewで一度表示されてから行ごとのViewHolderが切り替わる場合のログを眺める

の続き。 レイアウトの切り替えを伴うRecyclerViewの切り替えがうまく行くとはにわかに信じがたかったので、 タップしたら簡単にレイアウトを切り替えるように前回のコードを少し書き換えてログを見てみました。 まとめ 当たり前のことを確かめました。 レイ…

Toolbarをカスタマイズする際にどこをいじればよいのか

Toolbar をカスタマイズしたくてその際にいじったら良いパラメータとかいじっても意味ないパラメータとか試したのでメモ。 ヘタレなので、試したのはAPI21で、サポートライブラリはgradleのcom.android.support:appcompat-v7:23.1.0のバージョンです。 新し…

Toolbar内の要素の表示順

Toolbarを書く必要があったのですが、各要素の表示順がちょっと分からなかったのでまとめ。 Toolbar内の要素の表示順 左から、 NavigationIcon Logo Title / SubTitle Title(SubTitleと同時表示された時は上側) SubTitle(Titleと同時表示された時は下側) Too…

RecyclerViewで行ごとに表示を切り替える

Recycler View で行ごとに表示に使うレイアウトを切り替える、というのをやりたくて悪戦苦闘していましたので、とりあえず書いたのをメモ。 参考にしたのは、 Tumbling Dice — [Android]ListViewのレイアウトを動的に切り替える際の問題点 techbooster.booth…

ReyclerViewで基本的な使い方手順

ISUCONの話を読んで、もっとコードがうまくなりたい、コードが上手いってかっこいいって思い出せてよかったです。 RecyclerView で少しややこしいことをしたくて、 ListViewのやり方をそのまま当てはめて書いたら自爆したので、 初心に立ち返って基本的な使…

Kotlinでコンストラクタを書く

Kotlinで一からクラスを書く必要が出てきてかなり面食らったのでメモ。 KotlinのM11が一般的になる頃にまた追記しよう...。 プライマリコンストラクタとセカンダリコンストラクタについて プライマリコンストラクタを書く セカンダリコンストラクタを書く コ…

枠ぎりぎりまでImageViewやTextViewが表示される角丸のCardViewを作る

表題のことを仕事でしようと思ったら、かなりぐったりしたので、供養代わりにメモ。 辿りきれてないところもありますが... 内容 CardViewのサポートライブラリについて 影の設定 角丸の設定 ImageViewについて onDraw()でマスクを抜く setImageDrawableで角…

ArrayAdapterとViewHolderの関係について

参加しているプロジェクトのコードを読んで少し興味が出てきたので調べました。 参考のために読んでた記事とか。 Why is my list black? An Android optimization | Android Developers Blog Tumbling Dice — [Android]ListViewのレイアウトを動的に切り替え…

TabレイアウトでTabの内容の部分に任意のFragmentを入れる

面倒くさいからとりあえずメモがてらに置いてしまおう。 この記事やこの記事、この記事を参考に頑張っていたのですが、最終的に下記の記事を参考に頑張ってました。 http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/ コードはほと…

ActiveRecord::Baseのcreateとsaveの違い

たまたま仕事で気になったので、ActiveRecord::Baseのcreateとsaveの違いについて簡単に調べました。 まとめ save(!)メソッドはcreate(!)メソッドで利用されている create(!)メソッドはnewメソッドとsave(!)メソッドを行うメソッド save(!)メソッドを利用し…

古いAndroid Studioのアップデート

Android Studioをはじめてアップデートしようと思って、Android Studio > Check for Updatesを押して開かれるメニューを見たところ、下図のようにUpdate...の選択肢がDownloadになっていたので少しひよりました。 以下、作業手順をメモ。諸々のバージョンは…

いまさらOAuthについて調べてみた

OAuthの認証周りにめちゃくちゃ苦手意識があったので、ちょっと調べてみました。 内容 OAuthとは OAuthを使うと何が良いの OAuth1.0と2.0とは OAuthとは ニュースメディア等のクライアントアプリが、Twitter、Facebookなどユーザ情報やユーザにひもづいたリ…

論理削除カジュアルに触発されて現場で見たデータベースについて考えた事を書いてみた

論理削除カジュアルに触発されたので、社会人になってここ半年くらい、現場で見たデータベースについて考えた事について書いてみます。 内容 とりあえず外部キーにはインデックスを貼っておく ユニーク制約はデータベースレベルでやらないとしばしば崩れる …

夏休みにサーバーに関する本を読んでいました

夏休みは下記の本を読んだり、渋谷とシェルドラドに行ってTASを見ていました。 夏休みにサーバ関係の本を読んでいて、全部忘れる前に感想書きたいな、と思いつつ、 感想さらっと書けるほど理解できている自信も無かったのでいまさら、あわてて書き出している…

セキュリティ勉強会に参加しました 4

社内のセキュリティ勉強会の徳丸本読書会に参加しました。 今回の範囲は、pp. 88 - 105 でクロスサイトスクリプティングの基本の話でした。 前の記事は予習だったけど、今回は復習なので社内リポジトリに残したlogとは違う切り口でまとめて理解を深めてみま…

状態や数値を集約する列の取り扱いについて

途中まで読んでいて放置してしまっていたSQL実践入門をようやく読み終わりました。 9章の難しい問題を難しいままの状態で解きたがるスーパーソルジャー病という部分にはっと来たり、ウィンドウ関数の記述の一部で、そこはさすがにアプリケーションレイヤーの…

Railsのコントローラのアクション間でデータの状態の管理がよく分からないとき

こちらの記事*1の続きです。 なんか、いわゆるfat controllerの具体的事例集、みたいなかんじになってしまって途中で書く気が失せてきたのですが、ふと思い出して自分の公開鍵のメモをいま見直したら予想以上に良かったので、一応残しときます。 内容 アクシ…

Railsのコントローラのアクションがやたらと横に長くて読みにくいときに確認したいこと

こちらの記事*1の続きです。 長くなったので、アクションのコードがやたらと横に長いとき、について書きます。 残りは、パラメータの受け渡され方がよくわからないとき だー。 内容 アクションのコードがやたらと横に長いとき 条件分岐がひたすらネストして…

Railsのコントローラのアクションがやたらと縦に長くて読みにくいときに確認したいこと

今週はなんだか見た目はそんなでもなかったのにやたらと読みにくいコントローラのアクションに振り回されていました。 せっかくなので、今回の事だけではないんですが、これまでに思った事をまとめておこうと思います。 長くなったので、アクションのコード…

セキュリティ勉強会に参加しました 3

ユーフォ12話すごいよかったですね。 今週の勉強会は外部の勉強会の準備で忙しい人が多くてお休みだったので、予習分を忘れないうちにまとめ。参加したので追記しました。 内容 セッション管理 Webじゃないアプリケーションでセッションを管理するということ…

MySQLのExplainを確認する

テーブル設計でこんなものですが〜みたいな出し方やると、割と取り返しつかなくてあれなので、 意識が入らないくらい習慣に叩きこめば問題ないですね。 実践SQL入門を買ったので読み進めようと思ったら、 本書では以降、実行計画の読みやすいPostgreSQLとOra…

セキュリティ勉強会に参加しました 2

2回目分のメモの続きです。 内容 徳丸本読書会 開発者のセキュリティに関する責任 裁判のガイドラインがIPA 個人情報保護法はどこから適用されるのか HTTPについて URIとスキーム DNSというスキームは無い ベーシック認証の流れ 上記以外で知らなかった用語 …

セキュリティ勉強会に参加しました

会社のセキュリティ勉強会に参加しました。 初回はこれからの進め方と社内のセキュリティ部署のお仕事について話をうかがって今日は二回目でしたが、記事が続くか自信が無いので番号はつけません。 今日はBurpを使って、HTTPリクエストのパラメータを読み取…

クリックしたら吹き出しが出てくる、JavaScriptのライブラリを書きたかった

仕事でてきとうなライブラリを使おうとしたら、秒速でJavaScript警察の先輩に補導されて反省したので(たしか所要時間76秒)、反省を活かしてライブラリを作ってみようと思いました。 てきとうに使おうとしていたライブラリ http://osvaldas.info/elegant-css-…

urlヘルパを使ってプロトコルがhttpsのurlを吐き出させたい

なんか調べてたら、Railsのurlヘルパーでhttpsの指定ができる、という話を見かけて、よく分からなかったので調べてみました。 前もって把握していた情報は *_urlヘルパは、完全URIを返す *_pathヘルパは、パス以下を返す だったので、これじゃなんともいえな…

Mixi Android Training 第5回分の参考資料の演習についてメモ2

ListViewの5がちょっときつかったです。 まとめ この範囲の演習で大事そうだと思った事を先にまとめ Android Studioで非Android Studioのプロジェクトを読み込む時は、専用のメニューから http://woshidan.hatenadiary.jp/entry/2015/05/05/225720 ContextMe…

Mixi Android Training 第5回分の参考資料の演習についてメモ1

Mixi Android Training 第五回分の参考資料の演習をやっています。 参考資料の演習が一通り追いついたら、授業見ながらアプリ作っていくことに決めましたというか、 演習がそれなりに重いので、勉強会いけていたとしてもついていけていたのかな感が若干あり…