2017-10-01から1ヶ月間の記事一覧
やりたいこと google mapのある地点をクリックした際に、 その地点の緯度経度・住所を取得する必要がありましたので、 google maps apiを使って逆ジオコーディングを実現してみました。 ジオコーディング / 逆ジオコーディングとは ジオコーディング 住所の…
配列の準備 ary1 = %w(a b c) # ["a","b","c"] ary2 = %w(b c d) # ["b","c","d"] %wというのはパーセント記法と言うやつです。 これを使うと配列の定義が簡単にできます。 今回の場合は文字列を要素に持つ配列を作成しています。 共通集合 p (ary1 & ary2) …
moduleを定義する module MyModule def hello puts 'hello' end end MyModule.hello #=> undefined method `hello' for MyModule:Module (NoMethodError) これだけだと使えない。 moduleを定義 + module_functionを定義 module MyModule def hello puts 'hel…
include先のクラスにて、インスタンスメソッド内で使う module Hoge def hello puts 'hello' end end class Fuga include Hoge def call_mod_method # インスタンスメソッド hello end end fuga = Fuga.new fuga.call_mod_method Hoge moduleをincludeしてFu…
Rubyのselfが微妙にわからん Rubyのselfが使う割にきちんと理解できていない気がしたので、 いろんな文脈で出力してみた。 トップレベルの文脈でのself コード p self 結果 main トップレベルではmainというオブジェクトがmethodを実行しているらしい。 へぇ…
PHPとRubyのprivate methodを比較してみる 子クラスから親クラスのprivate methodが呼び出せるか、 確かめてみます。 PHPの場合 実行コード
前回のソースコードをstrategyパターンを使用して書き換えていく 前回のソースコードから、戦略に関する部分についてクラスで切り出します。 戦略クラス(特定戦略時の振る舞いを持ったクラス)を作成 # ガンガン行こうぜのとき class StrategyGangan def se…
このシリーズについて このシリーズでは、 デザインパターンを使う場合 デザインパターンを使わなかった場合 について、 「仕様変更があった時、既存コードの書き換えがどれくらい発生するか?」 という観点で比較し、デザインパターンのメリットをより感じ…
前回のソースコードをstateパターンを使用して書き換えていく 前回のソースコードを見てみると、 状態と、その状態の時の振る舞いが描かれていることがわかります。 図の例なら、「HAPPY」「HAPPY時の振る舞い(hello, goodbye)」です。 これを状態クラスと…
デザインパターンのメリットについて今一度確認したい 業務で使ったり使わなかったりするデザインパターンですが、 なかなかメリットについてつきつめて考えたことがない。 「なんとなくソースコードがきれいになった気がする。。。」で頭がとまってしまって…
Angular2/4にてテーブルのソートを簡単に行ったりpagerを簡単に作ったりしたい pagerだけ作るのであれば以下のmoduleでも良い。 github.com テーブルのソートなども行いたかったので、ngx-datatableを利用することにした。 github.com star数も1800超えで、…
問題 Angular4で作っているアプリケーションにてdatatableを使おうとしたところ、 コンパイル時に以下のエラーが発生 In ambient enum declarations member initializer must be constant expression 解決方法 typescriptのバージョンを上げればよいらしい。…
バージョンを確認する 現在使っているnode moduleのバージョンを確認する必要がありました。 アプリケーションディレクトリにて、 npm ls 直下のmoduleのみ確認したいときは、 npm ls --depth=0 npm installでinstallされるパッケージのバージョンを固定する…
Googleが提唱している「MaterialDesign」を、Angular2/4上で簡単に使うことができる 「Anglar Material」を導入しようとしたら、moduleの読み込みに失敗しました。 has no exported member 'MdButtonModule'. CHANGELOG.mdを見てみると どうやら2017-10-05の…
CSRF対策とは その1「CSRF攻撃」について その2「CSRF対策」について その3「RailsにおけるCSRF対策」について の「その2」です。 CSRF対策とは おさらい 問題点 解決方法(抽象) 解決方法(具体) 正常な場合 CSRF攻撃された場合 まとめ 補足 ワンタイ…
(画像は “仲介者”型の性格 (INFP-A / INFP-T) | 16Personalitiesより) 16 personalities 診断 私はINFPタイプでした。 INFP より多くの情報を知りたいと思い、こちらの本の一部を和訳してみました。 https://www.amazon.co.jp/gp/product/B01ES8UZ4A/ref=k…
CSRF対策とは 自分の中で曖昧になっている部分があったので、整理してみました。 これから3回に分けて解説しようと思います。 その1「CSRF攻撃」について その2「CSRF対策」について その3「RailsにおけるCSRF対策」について CSRF対策とは CSRF攻撃とは …
htmlで返す render html: 'content' class ApplicationController < ActionController::Base protect_from_forgery with: :exception def hello render html: '<ul><li>hello world</li><li>good bye world</li></ul>' end end ブラウザ上の表示 あれ。うまく表示されない。 エスケープ…
(画像は “仲介者”型の性格 (INFP-A / INFP-T) | 16Personalitiesより) 16 personalities 診断 転職にあたって「私ってどんな人間なんだ?」と思いこちらをやってみました。 16 personalities 診断 私はINFPタイプでした。 INFP より多くの情報を知りたいと…
はじめに 今月に入って僕は8人殺害している。 どいつも悪い奴ではなかった。 どちらかというと皆、可能性に満ち溢れた奴らばかりだった。 そんな人たちを次々に殺めていく。 ちょっと首を締めるだけで、人は簡単に死ぬ。 そんなことを思う。 首を絞められな…
ちょっと本腰入れてRailsの勉強をはじめていきます〜。 まずはRails Tutorialから。 https://railstutorial.jp/ 進捗報告していきますのでよかったら読んでみてください。 ではでは。
Angular2/4にて、ユーザのキー入力を検出する Angular2/4にて、ユーザがフォームへ入力をしたこと検出してみたいと思います。 さらに、ユーザがエンターキーを押したときに、今まで入力した内容を取得してみます。 Angular2/4にて、ユーザのキー入力を検出す…
Angular2/4にてngSwitchを使ってtemplateの切り替えを行う 「routerを使う程ではないけど、templateを部分的に書き換えたいな〜」と思ったので、 ngSwitchを使用してtemplateの部分的な切り替えを行おうと思います。 Angular2/4にてngSwitchを使ってtemplate…
Angular2/4のLifecycle Hooksを理解する Angular2/4のLifecycle Hooksのうち、ngOnInitについて簡単な実験をして、 どのタイミングでngOnInitが発火するのか確かめてみることにします。 Angular2/4のLifecycle Hooksを理解する 前提 0. プロジェクトを立ち上…
rakeコマンドを実行したときに時々起こる、rake aborted! の解決方法 結論。 rake *** ではなく、 bundle exec rake *** を使いましょう。 rakeコマンドを実行したときに時々起こる、rake aborted! の解決方法 解説 まずはエラー文を確認 なぜそういうことが…