woshidan's loose leaf

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

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

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

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

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

coffee scriptっぽい気分に浸っていた

coffee scriptの練習のために書き直してたけど、 もう少し小さい単位でやればよかった... ってか、DOMはオブジェクトの要素として渡すようにしないと 関数としてうまく切り分けにくいから、 何で書こうといろいろと苦しいのでは感あった... coffee scriptっ…

Coffee Script入門した

ドットインストールでcoffee script入門やってた。 http://coffeescript.org/ の TRY COFFEESCRIPT のタブで試しながら打てる。 メモ。 コメント # comment for 1 line ### comment for multiple line ### 生JSと違うところ var は書く必要がない(というより…

最近の知見 20150630

週末にデザパタ残りは、まとめてまた書こうかな。最後まで書きたい。 エクストリームプログラミング買った。言い訳はするだろうけど、色々考えるのも面倒だし、思ったより自分の考えている事と離れていなかったので、少しずつ寄せていきたい...。 (開くまで…

最近の知見 20150629

勉強してないわけじゃなくて、先月より大分自分のペースで過ごせてます。 ただ、Mementoパターンがfluxっぽくない?って思って記事書こうとして、 風呂敷広がりすぎて書けなくなってるだけです。 まだなじみのあるディスパッチャくらいにしとけや。 ディスパ…

Facadeパターン

Facadeパターンは割と意識することは多いんですが、実際書くか、というとどうでしょう...。 Facadeパターンの中身が闇すぎて、Facadeパターンらしく包まれたAPIによって呼び出されているバッチ処理がこけたときに、画面を開いてうっ...となる気持ちがありま…

Chain of Responsibilityパターン

処理できる人が出来るまで、オブジェクトの間を渡り歩いていくクラスですが、実は、実装方面では今のところ余り気にした事がありません。 ただ、メソッドを書くときにいつも気にしている気がします。 RubyやJavaScriptではいつも、あるオブジェクトのメソッ…

Visitorパターン

オブジェクト指向プログラミングでは、データ構造と処理は基本的にそれを扱うクラスの中に一緒に書きます。 ただ、そうじゃなくて、 データ構造である集合や集合の要素を扱う側が処理を知っているのではなくて、 それらを使うクラスが別個にあり、そちら側だ…

Decoratorパターン

実害のあるドジなので、昼寝してたらベッドの底が抜けて泣いてた。 (ねじが2,3本足りてなくて、底の板がスライドして斜めになって間から落ちたらしい) さて、Decoratorパターンで思い浮かべたのはcssで装飾用や動作の仕組まれたdivにどんどん包んでいく感じ…

実践SQL入門 2章まとめ

2章は特にExplain関係なかったので、普通に個人的なまとめ。 内容 ビューを作る INの中のサブクエリ 作業用SQLのメモ 検索CASE式と単純CASE式 CASE式を文字列の読み替えに使う UNION INTERSECTとEXCEPTはMySQLにない ウィンドウ関数もMySQLにはない ランキン…

実践SQL入門のPostgresSQLとOracleの例をMySQLで確認していく

2章の見出しに母国語を話すようにって書いてあって、母国語が不自由であることに定評がある自分は...。 続くかどうかは知らないが、一章分。 相変わらず、 実践SQL入門 と http://nippondanji.blogspot.jp/2009/03/mysqlexplain.html を眺めています。 一章…

Date.todayをtravel_toのブロックで使ったら他の部分のテストがこけた

テストで travel_to Date.today + 3.days { create(:model, some_date: Date.today) } とやったら、他の部分のActiveRecordの保存時刻がずれてテストがこけて原因が分からず大変だったので、あれこれ確認してみた。 結局原因はよく分からなかったけど、上の…

Compositeパターン

こう、他にやる事いっぱいあっても、デザパタの復習とデータベースの勉強は好んでやるから、今のところ、この辺がすきなんだろうなぁ、と。 (叩き上げすぎてこの辺やら無いと即死するだけですね) Compositeパターンは、 Leaf 中身。この中に何も入れる事が出…

Strategyパターン

ちょっともにょることもあるけれど、大分ましになってきました。 前の記事の追記みたいなことが好き勝手に出来るから、loose leafはよい感じ。 一日/1個(転送速度)な感じです。 Strategyパターンは、ソートや選択のアルゴリズムを入れ替えたり複数用意した…

Bridgeパターン

「機能のクラス階層と実装のクラス階層」 「機能のクラス階層と実装のクラス階層」ああ、そういう言葉あったわーというか、なんか最近そう言うの書いたかもしれない、 ということをふまえながら、読んでみます。 機能のクラス実装は、 新しい機能を追加した…

Abstract Factoryパターン

もう駄目だ。昨日何やってたっけ? というのは置いておいて、部品の組み合わせ方だけをコーディングできる状態の抽象的なFactoryと、 それぞれの部品の具体的な表現を持ったFactoryの2層がある、Abstract Factoryのパターンの話ですが。 正直、これも書いた…

Builderパターン

もうお前は何回ActiveRecordを取り上げるんだ、という感じですが、これで一旦最後じゃないですかね。 あるいは、この例はAndroidのNotificationBuilderでもいいんですが。 Builderパターンについて、ここで使うといいなと思っている場面が二つあります。 任…

Prototypeパターン

Prototypeパターンもいまいちぴんと来ていない。 なんていうか、この辺は以下に言語そのものを学ぶ、とか、仕事とは関係なくツールを作るということをして来なかったか、の現れなのかもしれない。 まず、結城先生の本でそれぞれに上がっている本のユースケー…

Singletonパターン

Singletonパターンは、Singletonパターンという単語を覚えた初心者がどんどんSignletonパターンを書き出すという事で悪名高いらしいですが... むしろBuilderパターンという単語を覚えた初心者が、BuilderクラスのためのBuilderメソッドを書き連ねて...という…

Factory Methodパターン

Template Methodパターンをインスタンスの生成の場面に適用したものがFactory Methodパターンだそうです。 具体的なもので言うと、ActiveRecordとか、それっぽいというか、 ActiveRecordのコードをちょっと読んだときにfactoryという言葉を見かけて以来、 取…

Template Methodパターン

テンプレートパターン、実はファクトリーパターンとの区別がちゃんとついていなかったりする。 というより、Template Methodパターンなのですね(え)。 サブクラスがいくつかのメソッドを持っていることを前提に、 スーパークラス(抽象クラス)でそれらのメソ…

Adapterパターン

Adapterパターンは去年知った当時は何をしたいのか、メソッドの内容が分かりやすい割に あんまり分からなかったのだけど、最近少しだけ分かる気がした。 インターネット上に転がっているAmazonの商品情報だったりを取得するために、 外部のAPIを利用するとす…

Iteratorパターン

去年一回読み終わってから、もう一回デザパタを読むと決めてたんですよ(忘れてきただけ)。 1つ1つ数え上げる、という見出しがついていたんですが、 集合を扱う抽象クラス(Aggregate)と、 集合の要素を走査する方法を扱う抽象クラス(Iterator)と、 集合の具…

config/routes.rbのshallow: trueとは

仕事で見てよく分からなかったので調べてみた。 http://qiita.com/kuboon/items/96bbd227f9497ed81f38 resources :groups do resources :users end resources :users group_users GET /groups/:group_id/users(.:format) users#index POST /groups/:group_id…

whereisとwhich

whatis whereis whereis(1) - locate programs $ whatis which File::Which(3pm) - Portable implementation of the `which' utility bindtags(ntcl) - Determine which bindings apply to a window, and order of evaluation builtin(1), !(1), %(1), .(1),…

テストのないコントローラをいじるときはナビゲーションテストだけでも書くと救われる

コントローラのテストがほとんどない状態からテストを書くの、結構苦しいなぁ、となって、 とりあえずコントローラに長々書いてある分はテストしやすいようにModelに括りだして分割してテストしたんですが、 そこで気が抜けて、インスタンス変数修正漏れアウ…

Ajax中心に考えたときのURIとWebページ中心に考えた時のURIは違わないか

たとえば、何かいい品物を一覧から注文する、みたいなふぉーむを扱うためのアクションがあるとして、 stores/:store_id/orders/(GET)(入力フォーム) => stores/:store_id/orders/confirm(GET) => stores/:store_id/orders/confirm(POST) => stores/:store_id…

ActiveRecordでgroupingに計算値を使いたい、計算値を集計したい場合

.group(Arel.sql('DATE_FORMAT(updated_at, '%Y-%m-%d')')) とか .sum(Arel.sql("price * #{CONSUMPTION_TAX_RATE}")) のようにArel.sql()で包んでから放り込む。 と思っていたけど、包まなくても割といけたぞ。何故だ! Book.group('DATE_FORMAT(updated_at,…

現在インストールされているアプリを取得する

AsyncTaskLoaderについて調べてたのだけど、実装例の現在インストールされているアプリの取得の仕方が面白かったので、貼る。 以下、実装を少し追って見る。 BroadCastReceiverのサブクラス BroadCastReceiverのサブクラスを作る 1のクラス内で、呼び出し元…

ListとArrayとArrayList

Array ArrayList List の違いがよく分からないので、ググった。 こういうとき、英語のgoogle先生はvsをsuggestするのか。 http://stackoverflow.com/questions/2279030/type-list-vs-type-arraylist-in-java Q: (1) List myList = new ArrayList(); (2) Arra…

論理包括とか選言的三段論法とか

データベース実践入門ちょっとずつ読んでる。ANDの形がAに近いで覚えています。 論理包括 論理包括がよくわからなかったのでググった。 P IMP Q は以下の図のような感じで、 左がP, 右がQになる。 Pでない または Qである、ということらしい。なるほどー。 P…

いまさらCookieの仕様について調べてみた

アクセスしているユーザの判別ってどうしたらいいんだろう、という感じだったので、 http://web-tan.forum.impressrd.jp/e/2010/06/10/8147 自前でやるよりFluentdとかのライブラリを調べたほうがよさそうだけど、とりあえず何やってるのか検討つかなかった…

IO#readlineは$_変数に実行結果を格納しないの?

Effective RubyのKernel#readlineメソッドあたりの記述 では、ここでは何が行われているのだろうか。このコードは、readlineメソッドから始まっている。より厳密に言えば、Kernel#readlineメソッドだ(項目6ではたとえばここでRubyがKernelモジュールのreadli…

InputStreamをBufferedInputStreamでラッピングする

HTTPUrlConnectionについて調べていたら、レスポンスボディの読み込みのところで、 InputStream in = new BufferedInputStream(urlConnection.getInputStream()); のようにurlConnection.getInputStream()がBufferedInputStreamクラスのインスタンスでラップ…

Android Studioで非Android Studioのプロジェクトを読み込んだらURI is not registered エラー

第5回の参考資料は講座の資料ではないので、はじめてAndroid studioじゃないプロジェクトだったので、しばらくひよりました。 参考にしたのは、 Why is Android Studio reporting "URI is not registered"?stackoverflow.com The correct directory for the …

ContextMenu周りのクラスについて

第5回分の演習をしていたら、ContextMenuの部分が難しかったので、じっくり読んでみます。 引用元ソース https://github.com/xinyis/android-training/blob/master/assignments/fundamentals/6th/ListViewAssignment/src/jp/mixi/assignment/listview/beg/Ma…

FactoryGirlでfactory定義のブロックでデフォルトのアソシエーションを書くとその都度関連先のレコードが作成される

FactoryGirlでassociationを使うとき、 factory :item_one, class: Item do name 'first' association :user, factory: :user_one memo 'memo' category_id 1 end のようにassociationの部分の列を書くと、アソシエーションが含まれているfactoryを使ってレ…

has_manyの指定がModelで使用可能なメソッドのリストとして追加されるまで

今更ふと思いついたのですが、もしかして has_manyメソッドとかは、 そういうクラスのアソシエーションの設定用配列にpushする、みたいな感じなのかという気がしたので、 それだけで追って見る。 (結論としてはhas_manyメソッド読んだときに、パラメータを元…

ActiveRecordのmigrationまわり眺めてた

ActiveRecordでいくつかのメソッドでクエリを読もうと思っていたはずが、 なんか迷子になってしまいました。まさにぼんやり勉強しています、だ。 それでmigrationファイルの生成について、 rails g migration filename をしっかり書くと、templateの方で 属…

bootstrap-sassを使っているのに、bootstrapが使えない

もしかして、 /*= require bootstrap でなく、 @import "bootstrap-sprockets"; @import "bootstrap";

はじめてgemspec書いた

RailsとRails::Engineの話を少し調べたかったので、 Engineの方をGithubに上げてgemとして取得するように設定して、 bundle installしたら、 admin_book_store at /Users/woshidan/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0/bundler/gems/admin_book_store…

Auto Layout ドリルを解きました

Auto Layout ドリル · mixi-inc/iOSTraining Wiki · GitHub のドリルを解きました。 10日ぶりなんて久しぶりすぎてSpotlight使って探すくらいXcodeのアイコンを忘れていたとかそういうことはありません。 昨日、雑に右下の方にアイコンが3つあると書きまし…

AutoLayout入門を読んだ

https://github.com/mixi-inc/iOSTraining/wiki/Auto-Layout%E5%85%A5%E9%96%80 読みました。 パーツのリサイズには、AutoLayoutとAuto Resizing(springand struts)があります AutoLayoutは比較的新しいトピックで、iOS6や OS X 10.6以降で利用できる(iOS5.x…

3.3 UIViewの問題について考えてみる

ここの問題を考えています。 問題 アニメーション完了後に画像を元に位置に戻るアニメーションを実装して下さい。(HINT:アニメーションブロックのネスト) 考えた事 アニメーション完了後ということはcompletionを使うのでしょうか。 元の位置に戻る、とい…

RailsのModelとControllerにどういうメソッドを書くのか

RailsのModelとControllerにどういうメソッドを書くのか分からなくてグルグルしていた。 好みやプロジェクトの雰囲気によると思うのだけれど、自分の実感として、 使い回さない判定 使い回さない検索 はControllerに書いてあることが多い気がする*1。 自分と…

3.1 UIView

後追いで、 https://github.com/mixi-inc/iOSTraining/wiki/3.1-UIView を読んでいます。 学び始めはなんだって感動しますし、ojisan.pngと入れてOJISANが出てくる事にも感動しますよね。 昨日分を少し整理して投下。 UIViewってStoryboard上でViewを選択し…

2.2 UITabController

後追いで、 2.2 UITabController · mixi-inc/iOSTraining Wiki · GitHub を読んでます。 昨日はちょっとまとめて、とちった感じのデバッグだけしました。 UITabBarControllerを使って画面を作ってみます。 TabBarControllerを使って画面を作っていく際に、自…

公開鍵認証について本気出して考えてみた

考える前に分かってないんかい!という突っ込みは無しの方向で。 ssh-keygenでコマンドを打ち込んでから公開鍵認証を行うまでに持っていた理解が、 rsaで暗号化(公開鍵)-複号化(秘密鍵)を行うためのキーの鍵を作ります。そのときに、パスフレーズを使います…

パーティションとは

土曜日は寝ました。まぁ、そんな季節か。。 来週はもくもく会もあるし取り返せるといいな。 ハードリンクとシンボリックリンクの説明の中で さいきん、研修を受けていて、研修でハードリンクとシンボリックリンクの違いを簡単に教えてもらいました。 自分と…