サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
cohakim.wordpress.com
今回は僕がiPhoneアプリを初めてテスト配布したときの手順をかいていきます。 はじめに Appleはセキュリティ上の理由からiPhoneへインストールできるアプリを厳しく制限しています。基本的にAppleによる審査を受けて信頼性が確認されたアプリ以外はiPhoneへインストールできないようになっているのですが、開発者向けには、非常に制限されていますが、独自のバイナリをAppStoreを通さずにインストールする方法(AdHoc配布)が用意されています。 開発者はAdHoc配布を、実機による動作検証や関係者への評価版の配布に利用することが出来ます。 AcHoc配布の制限とは 1. インストールする端末のデバイスIDを取得している必要がある 2. 最大100台の端末までしかインストールできない iPhoneアプリにはビルド時にProvisioning Profileというものが埋め込まれま
概要 今回はlive segmenterの使い方の説明です。 live segmenterを使ってPeerCastの配信動画をiPhoneでストリーミング再生できるところまでやりましょう。 事前準備 ffmpeg をパスの通ったディレクトリに配置する。 下記ファイルを同一ディレクトリに配置する。 live_segmenter http_streamer.rb hs_config.rb hs_encoder.rb hs_transfer.rb config_stream.yaml Apacheの起動 動画を配信するためにHTTPサーバが必要です。今回はOSX付属のApacheを使います。 システム設定のSharingからWeb Sharingを有効にします。 配信プロファイルの設定 配信プロファイルを設定します。下記項目は適宜書き換えてください。 input_locatio
概要 今更ながらにRailsのログに日時とログレベルが出力されないのが気になってきたので対応する コード 次のコードを追加 config/initializers/logger_extention.rb ActiveSupport::BufferedLogger.class_eval do SEVERITIES = self::Severity.constants.inject({}){ |val, con| val[eval("self::#{con}")] = con; val } def add_with_format(severity, message = nil, progname = nil, &block) add_without_format(severity, nil) { "%s [%s] %s" % [Time.now, SEVERITIES[severity], m
概要 KVSのredisが結構注目らしい yumにはパッケージがないので手動で入れてみる インストール プロジェクトページ http://github.com/antirez/redis ソースをとってきてmake git clone git://github.com/antirez/redis.git cd redis make ファイルをコピー&作成 cp redis-server /usr/sbin/ cp redis-cli /usr/bin/ cp redis.conf /etc/ touch /etc/init.d/redis-server mkdir /var/lib/redis /etc/redis.conf の次の行を編集 daemonize yes loglevel notice logfile /var/log/redis.log dir /var/lib/red
sudo で環境数が引き継がれずに不便だったので設定を追加 # デフォルトで環境変数をリセット Defaults env_reset # wheelグループのメンバーは環境変数をリセットしない Defaults:%wheel !env_reset # 引き継ぐ環境変数を指定い Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \ LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \ LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC \ LC_PAPER LC_TELEPHONE LC_TIME LC_A
概要 Twitterでサービスを宣伝する最も効果的な方法はフォローすることです。 ただしあまり無作為にフォローしてしまうとフォロースパムになってしまうので、 関心のありそうな人に絞ってフォローするのがよいでしょう。 今回はTwitterでねこ時計の宣伝をするときに使っている関連サービスと手順をご紹介します。 関連サービス Google Webmaster Tools – よく検索されるキーワードを抽出 Twitter Search – ツイートの横断検索 BackTweets – サービスのURLをツイートした人を検索 FriendOrFollow – 片思いアカウントを抽出 手順 1. Google Webmaster Tools で検索するべきキーワードを調べる まず Google Webmaster Tools を使って、自分のサイトがどのようなキーワードで検索されている
概要 Railsのログをローテートする方法はいくつかあります。 代表的なものにRailsのloggerに組み込まれているログローテーション機能を使う方法がありますが、Passenger環境で使う場合に多少の手直しが必要になってきます。(ログローテート後にPassengerがログにアクセスできなくなるためエラーが起きる) Passenger + Rails 環境でログをローテートする場合、logrotateを使うのが簡単です。 コード 次のようなファイルを作成する /etc/logrotate.d/passenger /var/www/app/az-nyan/current/log/production.log { weekly missingok rotate 30 compress delaycompress sharedscripts postrotate touch /var/w
概要 ウェブサービスAPIの走りであるAWSですが、最近では高機能なウィジェット/ガジェットが普及したためバックエンドのAPIについてはあまり話を聞かなくなっていました。 RubyにもAPIのラッパーライブラリが複数あるようですが、メンテが行き届いておらず、AWS API が v4 にアップグレードされ、認証機能が必須となった今、使えるライブラリは限られているようです。 ruby-aaws は現在もきちんとメンテされ、AWS API v4 と認証機能にも対応しているっぽいので、今回はこれを使ってみました。 事前準備 AmazonのWEBサイトでAWSのアカウントを作り、API KEYとSECRET TOKENを取得する。 インストール gemコマンドで取って来れるライブラリは古いようなので、WEBから最新版のgemパッケージをダウンロードします。似たような名前のライブラリが存在するっぽ
概要 Ruby でバックグラウンド処理を行うためのプラグイン GitHubでも使われているらしい バックエンドにKVSのRedisが使われ、Sinatraベースのフロントエンドがついてくる resque-scheduler を追加で導入することでcron的な定期実行も可能 リンク こちらがとても参考になりました KOSHIGOE学習帳のエントリは本家READMEの和訳で、とてもとても助かりました Masatomo Nakano Blog KOSHIGOE学習帳 Railsアプリからresque / resque-schedulerを使えるようにする アプリのデプロイにはcapistranoを使う Redisを導入する Fedoraで永続化対応のKVS「Redis」を使う resqueとresque-scheduler、および依存gemをインストール $ gem install
Twitter ホリエモンのアイコンが夏に向けて暑苦しくなってる件 21 minutes ago アクティブな戦場の7割がホルとかwww 22 minutes ago みせてもらおうか 土曜の昼ゲブのクソっぷりを 27 minutes ago FEZやってから買い物に行く 28 minutes ago @Nimda_BTD おおお お願いします!一部規約に触れてるところがあるので(汗 まだおおっぴらにはできないですが、4月末までには正式リリースするつもりです 完成したらお願いします 29 minutes ago
検索エンジンに登録 Google Yahoo bing ソーシャルブックマークに登録 はてなブックマーク livedoorクリップ Yahoo!ブックマーク Twitter Botまとめページに登録 Twitterまとめページ:便利なBot Twitter Botまとめ コミュニティに周知 コミュニティにWikiがあればそこにTwitterカテゴリを作って登録 掲示板やTwitterアカウントにPOST(ほどほどに) 運用 SEOチェキ!などSEOツールを使って定期観測 アカウントのBioにキーワードを埋める つぶやきにキーワードを埋める
システムログのように、過去のエントリは更新されないが、日々追加され膨大な量を保存しておかなければならないデータを効果的に管理する方法 要件 ・月ごとにテーブルを分ける ・過去のデータは圧縮しておく ・各月のデータに1つのテーブルから透過的にアクセスできるようにする ・ローテートの処理は無停止かつ自動で行う 実装 MySQLのMergeテーブルとRailsのrakeタスクを使って実装 ■ テーブル構成 snapshots / Mergeテーブル snapshots_base / ログの一時保存テーブル snapshots_200906, snapshots_200907, … / 過去ログテーブル ■ 処理の流れ ・新着のログは全てsnapshots_baseに追加する ・月の終わりに当月の過去ログテーブルを作成し、snapshots_baseから過去ログテーブルにデータを移動す
概要 メモリ使用量を結構削減できるという Ruby Enterprise Edition なんと\オープンソース!/ 1.8.7ベースのものが最近公開されたというのでインストールしてみる ソースファイルの取得 ここからソースをダウンロードして、適当なディレクトリに展開する Ruby Enterprise Edition patchを当てる(fedora 12の場合) fedora 12 だと Ruby のコンパイルでこけるのでpatchを当てる http://redmine.ruby-lang.org/issues/show/2022 patchの当て方を知らなかったので見よう見まねで頑張った! 下記のようなdiffの結果を適当なファイル名で保存(ruby-enterprise-1.8.7-2009.10/ext/openssl/ossl.c.patch) Index: ext/
なぜ? 複数のRailsアプリを動かす場合、アプリごとにサブドメインを切るのがスタンダード サブドメインを切った場合、ワイルドカードSSL証明書でなければアプリごとに証明書が必要となる 証明書代がバカにならん。同一ドメインでRailsアプリを共存させよう! どのような? https://hogehoge.com/app1/ ← app1にアクセス https://hogehoge.com/app2/ ← app2にアクセス ポイント [rails] action_controller.relative_url_root の設定 [passenger] RailsBaseURI の設定 [passenger] ApacheのDocumentRoot にRailsアプリのDocumentRootへのシンボリックリンクを張る 設定 config/environment.rb に次の行を追加 co
なにかのご参考になれば☆ プロジェクト PeerCast YP 更新情報/ランキング 実物は右メニューのProductsにならんでます http://github.com/cohakim/contactor 2chまとめの全文をTumblrにポスト http://github.com/cohakim/bot-idomajin 主な編集対象 config/environment.rb lib/yapra/ lib/background_worker.rb lib/yapra_runner.rb 備考 pitとか使ってるので、~/.pit/ 以下にファイルを置いてください $ ls ~/.pit/ contactor.yaml idomajin.yaml pit.yaml ~/.pit/contactor.yaml twitter: cp: login: 'pcyp_cp' pas
RailsからPragger(yapra)を使うためのメモ ポイント configファイルの読み込み plugindirの指定 デバッグモードでの実行(開発時) ロガーの切り替え バージョンナンバーが入ったリテラルが出てきますが華麗にスルー(汗 下準備 gemのunpackを行う $ rake gems:unpack GEM=yapra サンプルコード class PraggerSample CONFIG_FILE = "#{RAILS_ROOT}/lib/yapra/config/config.yml" PLUGIN_DIR = "#{RAILS_ROOT}/vendor/gems/yapra-0.1.2/legacy_plugins" def self.execute config = YAML.load_file(CONFIG_FILE) config = Yapra::Config
RailsからPragger(yapra)を使うためのメモ ポイント configファイルの読み込み plugindirの指定 ロガーの切り替え デバッグモードでの実行(開発時) バージョンナンバーが入ったリテラルが出てきますが華麗にスルー(汗 サンプルコード class PraggerSample def self.execute config = YAML.load_file("#{RAILS_ROOT}/config/pragger_sample.yml") config = Yapra::Config.new(config) # debug mode config.env.update({ 'log' => { 'out' => 'stderr', 'level' => 'debug' } }) Yapra::Runtime.logger = Rails.logger plugi
アプリケーション全般 cmd + q アプリケーションを終了 cmd + w ウインドウ/タブを閉じる ctrl + F2 メニューバーにフォーカス ctrl + F3 Dockにフォーカス ctrl + F4 次のウインドウに切り替え ctrl + F5 ツールバーにフォーカス ctrl + F6 フローティングウィンドウにフォーカス ctrl + F7 コントロール間でフォーカスを移動 ctrl + F8
ウインドウ操作 ctrl + alt + cmd + d ドロワの開閉 cmd + n n番目のタブ alt + cmd + ← 左のタブに移動 alt + cmd + → 右のタブに移動 alt + cmd + ↑ 同一ベースネームのファイルへ移動 ナビゲーション cmd + f2 ブックマークをつける f2 ブックマークに移動 f1 ブロックを折りたたむ cmd + t
Railsでレコードの全カラムをCSV出力 def index @users = User.find(:all) respond_to do |format| format.html format.csv { render :text => Proc.new {|r, o| o << User.column_names().join(',') + "\n" @users.each {|user| o << User.column_names.map{|n| user[n]}.join(',') + "\n" } }} end end 任意のカラムだけ出力したい場合は、出力したいカラム名の配列を返すクラスメソッドを作るとよいかも User.column_names → User.serializable_column_names
このページを最初にブックマークしてみませんか?
『cohakim's Weblog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く