SecureSocialでSNSを使ったログイン

Socialと付くだけあって、ソーシャルなサービスでのログインができる。 ユーザー名/パスワードを使った(外部サービスを使わない)認証に加えて Twitter Facebook GitHub Google LinkedIn Foursquare Instagram VK XING Concur Dropbox Soundcloud Weibo での…

SecureSocialで独自の認証画面を作る。

環境は Scala : 2.11 Play : 2.3 SecureSocial : 3.0-M1 SecureSocialで独自の認証画面を使う方法を書く。 前提として、以下の方法でsecuresocialを導入しているものとする。 securesocialをscala2.11/Play2.3.4で使う - H_Yamaguchiのブログ Global.scala R…

UITableViewControllerにUIActivityIndicatorViewを表示させる

ビューコントローラ内で普通に self.view.addSubview(indicator) などとやってると、self.viewがUITableViewなので、テーブルの中にインジケーターが埋め込まれたように見えてしまう。 表示位置によってはインジケーターがセクションの下に潜り込んでしまっ…

SourceKitServiceが400%で稼働する。

今、swiftでアプリ作成中なんだけど、ソースコードを編集中に度々CPUが唸りだす。 環境は OSX 10.9.5 XCode 6.1.1 (6A2008a) アクティビティモニターで見てみると、SourceKitServiceがCPU使用率400%で頑張っていた。 新しい暖房機器としては使えるが、XCode…

securesocialをscala2.11/Play2.3.4で使う

securesocialの(安定)最新版は2.1.4だが、scala2.11では使えない(かどうかわからないけど、sbtではダウンロードできない) ので、scala2.11で使いたい場合は3系(3.0-M1)に上げる必要がある。 "ws.securesocial" %% "securesocial" % "2.1.2", ↓ "ws.securesoc…

Deviseで生成したパスワードを使ってPHPで認証する

参考 http://stackoverflow.com/questions/9321075/ruby-bcrypt-password-retrieval-in-…

マーカーの画像を綺麗に表示する。

以前、マーカーの画像を変更する方法を書いたが、その時、Retinaで見ると画像がぼやけて見える。と書いた。 これの解決方法を最近知ったのでメモ。 CLLocationCoordinate2D position = CLLocationCoordinate2DMake(51.5, -0.127); GMSMarker *london = [GMSM…

<br>タグ前後のテキストを取得するためのXPath

<div> hoge <br> piyo <br> fuga </div> なるHTMLからhogeなどを取り出すためのXPathは以下 //div/text()[1] --> hoge //div/text()[2] --> piyo //div/text()[3] --> fuga 次に、以下のようなHTMLで <div> hoge : XXXXX <br> piyo : YYYYY <br> fuga : ZZZZZ </div> hoge、piyo、fugaの順序などは…

cellclickのイベントでフィールド名を取得する

Gridのcellclickイベントのコールバックは cellclick(this, td, cellIndex, record, tr, rowIndex, e, eOpts ) とある。 クリックした列に関する情報はcellIndex(列のインデックス)しかもらえない。 これを対応する列のフィールド名(dataIndex)に変換するに…

テーブルのエンジンを変更するなど

innodbに変更したい alter table hoges engine = innodb; あと、トリガを設定したら以下のようなエラーが発生した。 Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=' 一部のテーブルでCOLLATE=utf8…

Railsを80番ポートで起動するには

macにて。 デフォルトは3000番。 (! 501)-> rails s => Booting WEBrick => Rails 3.2.13 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2014-01-16 09:42:13] INFO WEBrick 1.3.1 …

関連のデータもサーバーに送るには

基本、ここに書いてあるとおり。 http://fits.hatenablog.com/entry/20120225/1330166288 ただし、サーバにrailsを使用している場合は、accepts_nested_attributes_forを使って、PUTしたデータを一度に更新したくなる。 ので、dataのkeyの部分は"_attributes…

フルスタックなJavascriptのWebフレームワーク

Mean http://mean.io Tower.js http://towerjs.org Sails http://sailsjs.org/ Meteor http://www.meteor.com Wakanda http://wakanda.org Derby http://derbyjs.com/ Geddy http://geddyjs.org Compound http://compoundjs.com/ Yahoo! Mojito http://devel…

zipのファイルサイズ

zipを作成してクライアントに返すようなcontrollerのコードがあって、 それに対応するrspecで以下のように書いていた。 レスポンスのzipファイルが想定するサイズか確認している。 describe "zipファイル" do before do get(:show, { :id => 1, :format => :…

Watir WebDriverのインストールに失敗する

bundle installするときにエラーとなった。 ... Installing ffi (1.9.3) Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension. /Users/h_yamaguchi/.rbenv/versions/1.9.3-p392/bin/ruby extconf.rb checking for ffi.h... n…

Google Custom Search API

使い方が結構面倒 リクエスト回数の制限が結構ひどい。 https://developers.google.com/custom-search/ http://offsidenow.phpapps.jp/archives/415 Yahooなど他のサービスでも事情は同じらしい。 検索して、画面に表示するには以下のようなURLでGetして、結…

Google Map API for iOSのマーカーのドラッグが使えない。

以前、Google Map API for iOSでマーカーのドラッグ&ドロップができるようになったと書いたが、 Google Mapsでマーカーをドラッグする - H_Yamaguchiのブログ 自分の環境ではうまくいかない現象が発生している。 self.marker = [GMSMarker markerWithPositio…

マーカーのアイコン画像を変更する

できるにはできる。GMSMarkerにiconプロパティがあるので、そこにUIImageを設定してあげるだけだ。 CLLocationCoordinate2D position = CLLocationCoordinate2DMake(51.5, -0.127); GMSMarker *london = [GMSMarker markerWithPosition:position]; london.ti…

GMSGeocoderクラスの使い所

がわからない。 - (void) reverseGeocodeCoordinate:(CLLocationCoordinate2D) coordinate completionHandler:(GMSReverseGeocodeCallback) handler のメソッドを使って、その緯度・経度に対応する住所を検索してくれるのだが、 [[GMSGeocoder geocoder]reve…

Google Mapsのズームをアニメーションで。

単純にズームしたいだけなら、GMSMapView setCameraUpdateなどを使用する。 GMSCameraUpdate* update = [GMSCameraUpdate zoomBy:17.0f]; [self.map moveCamera:update]; ただ、これだとズームが即座に行われてなんかカッコよくない。 アニメーションしなが…

Launch imageを透過でつくる。

ios

と、アプリのアイコンが引き伸ばされたものも一緒に表示されて、残念な感じになる。 うまい方法はないかと調べてたんだけど、無いみたい。Launch Imageは透過でつくるなと。 参考 http://stackoverflow.com/questions/19067480/appicon-overlays-with-launch…

acts_as_paranoidを抽象クラスに適用すると検索に失敗する

抽象クラスを継承してクラスを作る。継承元の抽象クラスにacts_as_paranoidを適用する。 class Hoge < ActiveRecord::Base self.abstract_class = true acts_as_paranoid ... end class Piyo < Hoge ... def self.search where(...) end end こんな感じの実…

FactoryGirlでfixture_file_uploadが使えない

fixtures/images.rb include ActionDispatch::TestProcess FactoryGirl.define do factory :image do content { fixture_file_upload("/test/sample.jpg","image/jpeg", true) } end end こんな感じで、fixtures/test/sample.jpgを置いてspecを走らせてみた…

UniqueIdentifierを文字列にする

あるテーブルに名前と別テーブルへのキー(guid)を保持している。 で、名前別にその件数をしらべて、それと同時に1件だけの場合はキーも出力するようにしたい。 2件以上の場合はアプリ側では無視するので何が入っていてもとりあえずはOK。 というのがあったけ…

Google Mapsでマーカーをドラッグする

Google Maps SDK for iOSの1.5からマーカーをドラッグできるようになってる。 https://developers.google.com/maps/documentation/ios/releases GMSMarker *marker = [GMSMarker markerWithPosition:coordOPin]; marker.draggable = YES; marker.map = self.…

auto layoutのconstraintをアニメーションで変更したい

iOS

最初はこんなふうに実装してたが、これだと意図したとおりにアニメーションが動いてくれない。 [UIView animateWithDuration:1.0f animations:^{ self.menuButtonHeight.constant = 120; self.menuButtonWidth.constant = 120; }]; これが正解。 self.menuBu…

モデルにメソッドとか属性とかmixinしたい。

railsもruby初心者なのでいろいろ困ってます。 えっと、今やってるアプリケーションは"開始日"と"終了日"を持ってるモデルがたくさんあって、属性の名前も同じ、やってるバリデーションも同じ、やってる検索もだいたい同じ。だけど、今は全部コピペで記述し…

Gridを初期表示でcollapseした場合にセルの編集ができない。

CellEditorプラグインを適用したTreeGridを表示する際にcollapsed:trueを指定すると、 表示後、expandしてもセルの編集ができない。 サンプルソース Ext.define('User', { extend: 'Ext.data.TreeModel', mixins: ["Ext.data.NodeInterface"] fields: [ {nam…

Ext.Ajax.timeoutが効かない

Ajax通信しているところでは30秒でタイムアウトになっていて、大量データを処理する場合にタイムアウトがしばしば発生していた。 とりあえずの処理で、タイムアウトを120秒にしたくて以下のコードを書いた。 Ext.Ajax.timeout= 120 * 1000; が、うまく動かず…

CheckboxModelで行を選択した時にチェックがつくのを抑止する

GridのselTypeにCheckboxModelをつけるとチェックボックス付きのグリッドを作ることができる。 Ext.define 'HogeGrid', { selType: 'checkboxmodel' ... } で、こうするとグリッドにチェックボックスが右端に追加されるけど、デフォルトだとチェックボックス…