iPhoneで縦の動画を撮ってS3にアップロードしてvideoタグ入れてChromeで表示すると横になっちゃう件
https://hirooka.pro/?p=1545
この辺のffmpegコマンド打てば直るのかな?
ffmpeg -i in.mov -vf "transpose=1" out.mov
最初はCSSで回転させればええやんって思ったけど再生ボタンの▽ボタンも横になってちがうちがう状態だったので。ちなみにsafariだと正常な状態で表示される。ブラウザっていろいろめんどくさいんですね。
Hello AngularJS
rails で angularjs 入門するためにちょっとメモ
基本的に下記のGMOメディア エンジニアブログさんで紹介されている方法そのままなので、見てない方は是非そちらを読んでください。
http://tech.gmo-media.jp/post/70940891525/angularjs-on-rails
スタート
railsプロジェクトを作成する用のGemfileを作成
cat << EOS > Gemfile
source "http://rubygems.org"
gem "rails", "3.2.17"
EOS
bundle インストール
bundle install --path vendor/bundle
angularjs用のプロジェクトを作成
bundle exec rails new example --skip-bundle
いらないファイルを削除
rm -f Gemfile*
rm -rf .bundle
rm -rf vendor/bundle
作ったプロジェクトに移動してGemfileを編集
cd example
# Gemfileを編集
gem "angular-gem", '~> 1.2.1'
gem "mysql2"
...bundle install --path vendor/bundle
bundle exec rails g angular:install
bundle exec rails s
config/database.yml を適宜編集
http://localhost:3000/ でチェック
ビューを作成
./public/test.hml に以下を貼り付け
<!DOCTYPE HTML>
<html ng-app>
<head>
<script src="assets/application.js"></script>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<br/>
<font size="4">Hello {{yourName}}!</font>
</div>
</body>
</html>
http://localhost:3000/test.html
を確認してフォームに適当な文字列を打つとちゃんと動いていればangularjsは動いているので次
ここからは簡易的なAPIを作ってangularjsと連携させます
モデル作成
bundle exec rails g model article title description
bundle exec rake db:create
bundle exec rake db:migrate
データを作成
// ./db/seed.rb
1.upto(20) do |num|
Article.create(:title => "title#{num}", :description => "description#{num}")
end
bundle exec rake db:seed
コントローラー作成
bundle exec rails g controller articles index
// ./app/controller/articles_controller.rb
def index
@articles = Article.all
render json: @articles
end
もっかい
bundle exec rails s
http://localhost:3000/articles/index
にアクセスしてみる
それっぽいデータがでてれば次
モジュールを作成
# ./app/assets/javascripts/app.js.coffee
window.App = angular.module('ArticleSample', ['ngResource'])
サービス(モデル)を作成
# ./app/assets/javascripts/angular/services/articles.js.coffee
App.factory 'Articles', ['$resource', ($resource) ->
$resource '/articles/index'
]
コントローラーを作成
# ./app/assets/javascripts/angular/controllers/articles_ctrl.js.coffee
App.controller 'ArticlesCtrl', ['$scope', 'Articles', ($scope, Articles) ->
$scope.articles = Articles.query()
]
読み込むjsを変更. jqueryとかいらないので削除
# ./app/assets/javascripts/application.js
//= require angular
//= require angular-resource
//= require app
//= require_tree ./angular
ビューを作成
# ./public/test.html
<!DOCTYPE HTML>
<html ng-app="ArticleSample">
<head>
<script src="assets/application.js"></script>
</head>
<body>
<div>
<label>Name:</label>
<input type="text" ng-model="yourName" placeholder="Enter a name here">
<br/>
<font size="4">Hello {{yourName}}!</font>
</div>
<div ng-controller="ArticlesCtrl">
<div ng-repeat="article in articles">
<p>{{article.title}}:{{article.description}}</p>
</div>
</div>
</body>
</html>
http://localhost:3000/test.html
にアクセス
/articles/index のAPIのデータ(titleとdescription)が表示されていればOK
angularjs というか rails 難しい
Objective-C の Observer ふむふむなう
いいslideを見つけたのでメモ。
でobserverについてもググってみた。
observerは監視者である。ということで、上記サイトでは値の監視を行う方法がコードレベルで記載されている。
[super addObserver:observer // 追加する観察者オブジェクト
forKeyPath:kKeyPath // 観察対象のプロパティ(ここではnumber)
options:NSKeyValueObservingOptionNew // 変更後の値を監視
context:NULL]; // 通知を受け取るメソッド(ここではNULL)
気になるのは観察対象のプロパティの指定方法。なんかNSStringを指定すると同名のプロパティが指定されるっぽい。ふーん。NSObject にaddObserver... のメソッドがあるので NSObject を継承してあげるそう。
オプションも気になるのでググった。
EZ-NET: プロパティへの書き込みを外から監視する : Objective-C プログラミング
まあ試してみないと良くわかんないです change で受け取れる内容が変わったりするみたい。
NSKeyValueObservingOptionNew
NSKeyValueObservingOptionOld
NSKeyValueObservingOptionInitial
NSKeyValueObservingOptionPrior
で、slildeに戻って「Model からEditor への通知方法」で使うってどの部分で使うの?...非同期で取得したデータをdatasourcesみたいなプロパティに入れた時にリロードする?んー
mac vim で rspec を個別実行するためにやったこと
qiitaにあったのを参考に。(qiitaの記事はコメントにある通りtypoしてるので気をつけてくださいませ)
tmuxとvim-rspecとvim-dispatchで快適なRSpec生活 - Qiita
~/.vimrc に必要なプラグインを記載
NeoBundle 'tpope/vim-dispatch'
NeoBundle 'thoughtbot/vim-rspec'
:NeoBundleInstall を実行
するとインストールされます。
で、とりあえず適当な spec ファイルを vim で開いて以下のどれかを実行
:call RunCurrentSpecFile()
:call RunNearestSpec()
:call RunLastSpec()
:call RunAllSpecs()
ちゃんと実行されるか確認。
僕の環境の場合は rbenv を使っているためか vim で実行される ruby のバージョン(:!ruby -v)とターミナルで実行される ruby (ruby -v) のバージョンが異なっていたので、~/.zshenv に以下のファイルを作成しました。
if [ -d ${HOME}/.rbenv ] ; then
PATH=${HOME}/.rbenv/bin:${PATH}
export PATH
eval "$(rbenv init -)"
fi
これで vim でもターミナルでも同じバージョンの ruby が使われたことを確認。
あとは tmux を brew でインストール
brew install tmux
して spec ファイル内で各種コマンド(:call Run...)を実行すれば別ウィンドウで rspec が動きました。やっぱ vim のプラグイン環境はすごい。知らないこといっぱい。vim楽しい。
qiitaに投稿してる人のgif画像ではなんかvim内の補完機能で :call RunNearestSpec() を実行していたけどあれ何のプラグイン?なのか分かる人いませんか?んーvim本買おうかな。
vimrc のメモ
NeoBundle 'tpope/vim-dispatch'
NeoBundle 'thoughtbot/vim-rspec'
let mapleader=" "
let g:rspec_command = "Dispatch rspec {spec}"
nmapc :call RunCurrentSpecFile()
nmapn :call RunNearestSpec()
nmapl :call RunLastSpec()
nmapa :call RunAllSpecs()
self.view.frame は呼び出すタイミングで取得する数値が異なる
ことを覚えておいたほうがいい。
タブバーを無理やり隠したりしている仕様だとタブバーの隠れる前と隠れた後ではサイズが異なる。
//iphone5
568 = 504 + 64 (ナビゲーションバー44 + ステータスバー20)
20とか44とか固定値使うとダサいらしいよ。
Rails の devise を使った複数モデルでのアカウント認証について
これ、Userモデルの場合は該当コントローラーの before_filter に
before_filter :authenticate_user!
こう書くと思うけど Adminモデルの場合は
before_filter :authenticate_admin!
こう書くとそれっぽく動くんだけどあってるのかな?
もちろん rails generate devise モデル名 で作った devise model が必要。
登録出来ないようにする場合は
devise :database_authenticatable,
#:registerable, :recoverable,
:rememberable, :trackable, :validatable
registerable と recoverable をコメントアウトする
(ちょっと前に)イベント管理系のサイトをブクマしていったのでついでにまとめ
いっぱいある
僕が実際に使ったことあるのはatnd,connpass,Zusaar。
atndはbetaだけ残るらしいですね。ややこしいですね。
peatixはこの前初めて知った。チケット販売推しなんですかね。
Doorkeeperはトップページの上の画像が意識高い系でオシャンティでリア充っぽいのが受け入れがたいですね。
Zusaarは「ずさー」ってよむんですかね。どうでもいいですね。
個人的にはアプリもあるしconnpassがすきですね。でもどう読むんですかね。
とにかく読み方に不安になるサービスは誰かに紹介しにくいからロゴにふりがな振ってもらえると自信もって紹介できますね。その点ピーティックスはすばらしいですね。あ、でもピーティックスの人ではないですからね。
“PeaTiX ピーティックス : だれでもチケット販売サイト | Event and Ticket Creation for Everyone” http://t.co/eODxQgxqUl
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
“[PARTAKE]” http://t.co/EYMcMc7S9W
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
“こくちーず(告知's) - 勉強会、イベント、セミナーの申し込みフォームを無料で作成” http://t.co/C6bTZSge0e
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
“参加費の決済もできるイベント開催支援サービス「Zusaar」” http://t.co/2livbqRRRO
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
“イベント開催支援ツール アテンド : ATND” http://t.co/Gr0cr8aIWu
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
“connpass-人が集まる。人と繋がるイベントサイト。” http://t.co/92BOxsoV0l
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
“イベントを開催して、コミュニティを築こう! | Doorkeeper” http://t.co/qVYbD2COKx
— かみぴー@Rails迷子 (@kamip1230) 2014, 3月 5
アプリがあるかないかとか決済方法とか誰か比較してもらえるといいんじゃないですかね。
しなくてもいいと思いますけど、じゃまた。