サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Wikipedia
yusukezzz.net
yusukezzz's weblog… ぷろぐらむとか ruby, android, java, thinkpad, milestone2 railsでvalidationを考えていて正規表現にマッチしたらエラーという風にしたかったのですが、 Modelでの正規表現によるvalidationではマッチしなかったらエラーという風にしか出来ません; #出来るのかもしれませんが調べてみても自分には分かりませんでした 何とか不正な文字列をグループ化してそれにマッチしたらエラーにしようと試行錯誤したのですが、 どうやら正規表現では文字(aとかb,c)の否定は出来るのですが、文字列(test,hogeなど)の否定は出来ないようなのです そのためvalidationにおいてある単語とマッチしたらエラーということが出来ません 仕方ないのでController側で if user_input
ScalaでAndroidアプリ作ろうぜという誘いを受けたので前準備として開発環境について調べてみました ちなみに Intellij は75%OFFの時に買いました! とりあえずHello worldをビルドして実行するとこまでです まずはAndroidSDKを入手します Android SDK | Android Developers 展開して sdk の path を ANDROID_SDK_HOME という環境変数に設定します $ export ANDROID_SDK_HOME=~/adt-bundle-mac-x86_64/sdk Intellij では Plugins から scala を有効にしておきます sbt を Intellij 上で使えるようにする plugin もありますが微妙だったので使うのやめました 普通に terminal から使ったほうがTABで補完
vimでタブやスペースを可視化するのにlistcharsを使いますが、その色を変える方法です set list set listchars=tab:>-,extends:<,trail:-,eol:< highlight SpecialKey term=underline ctermfg=darkgray guifg=darkgray ※この記述より後でcolorschemeを読み込むと上書きされます gvimではgvimrcの方に書かないといけません(こちらもcolorschemeの後) ご覧の通り<>を使っているのでHTMLタグなんかと同じ色になって見づらかったのです; もっと早く調べればよかった… 関連記事: WordPressの個別記事タイトルについて proftpd FTPが遅い apache2でバーチャルドメイン(virtualmin) Vim explorer windo
JenkinsというCIツールが流行っているらしいので試してみました インストールは公式の手順通り Installing Jenkins on Ubuntu – Jenkins – Jenkins Wiki installすると8080ポートで動き出すのでブラウザからアクセスします http://localhost:8080/ Android のテストはエミュレータで実行する前提で進めます まずは Android Emulator Plugin を入れます アップデートセンター [Jenkins] github にソースを置いてる人は Git Plugin も入れましょう 続いてシステム設定で android sdk と ant の設定をします システムの設定 [Jenkins] それぞれ /var/lib/jenkins/tools/ 以下に入るように設定します (jdk
yusukezzz's weblog… ぷろぐらむとか ruby, android, java, thinkpad, milestone2 Androidでデータを永続化しようと思うといくつかの方法が考えられます テキストとかを普通にFileIO SQLite Preference この中で一番簡単なのがPreferenceです なんと専用のlayoutを用意すればデータの入力と保存を勝手にやってくれます 保存形式はXMLで、ファイル名は指定しなければデフォルト値(パッケージ名)が使用されます 今回の目的である複数の設定を保持したい場合には任意で指定することも可能です ※例えば、twitterのアカウント情報を複数保存したり Preferenceを任意の名前で保存するサンプル package net.yusukezzz.preferencetest; import android.
Androidのカメラは横(Landscape)表示が標準らしく、縦画像が撮れないアプリもあったりします(Milestone2の標準カメラは駄目でした) ここでいう縦画像は width 前置きが長くなりましたがサンプルコードです Intent.ACTION_SEND で画像を受け取った場合を想定しています Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM); ContentResolver cr = getContentResolver(); Cursor query = MediaStore.Images.Media.query(cr, uri, new String[] { MediaStore.Images.ImageColumns.ORIENTATION }, null, null); query.moveToFi
これまではほとんどサーバに潜って開発だしいいやー、とdevelopmentで動作させていたのですが ローカルにVMware入れて開発環境を整えられたので本番環境はproductionにしようと思いました 必要な作業は単純で、 ※Rails2.2.2&Passengerの場合 ・productionのDBを用意し、下記のようにmigrateしておく Railsプロジェクトのルートディレクトリで $ rake db:migrate RAILS_ENV=production を実行します ・Apache2のvirtualhostファイルで RAILS_ENV = production に書き換え、再起動する 以上でProductionになると思います もし、 undefined method `cache_template_loading=’ for ActionView::Ba
CDドライブとかないのでSDカードからインストールしました SDカードをインストーラーにするにはUNetbootinというソフトを使いました 以下Ubuntu10.04の場合です ※Lubuntu10.04もインストーラー作れましたが、サポートリストにないので自己責任で インストールして起動、ネット接続までは確認しました ・無線LAN Ubuntu10.04の場合、X201sのWifiカードであるIntel6250AGNのドライバが含まれていないので Intel® Wireless WiFi Link drivers for Linux* 別PCからここの iwlwifi-6050-ucode-9.201.4.1.tgz をダウンロードしておきます インストールが終わったらドライバファイルを /lib/firmware に配置し、再起動すれば無線が有効になります ・タッチパ
Railsではたまに1.week.from_nowといった書き方を見ます これはActiveSupportによってnumericクラスが拡張されているもので、様々な指定方法があります 例えば、?時からその日中(23:59まで)のデータをfindしたい場合、
※現在はjpegにしか対応してないようです 最初はRMagick(ImageMagickのrubyライブラリ)を使おうと思ったけど、 高速にサムネイル画像を生成するRubyライブラリ、Speedpetalを公開しました。 – kaeruspoon こちらの方が手軽そうだったので入れてみることに 1.libjpegをインストール sudo aptitude install libjpeg-dev 2.speedpetalのインストール sudo gem sources -a http://gems.github.com sudo gem install tsukasaoishi-speedpetal 使い方は require ‘rubygems’ require ’speedpetal’ Speedpetal::resize(100, “in.jpg”, “out.jpg”)
gmailはssl必須なので面倒かと思ったのですが、意外と簡単でした まずは以下のライブラリを入れましょう #以下はruby1.8系の場合. ruby1.9系はsmtpがssl対応してるのでtlsmailは要りません PLAIN TEXT TEXT: sudo gem install tmail tlsmail tlsmailはsmtpのssl化、tmailはメールをparseしてくれます PLAIN TEXT RUBY: require 'rubygems' require 'tmail' require 'tlsmail' require 'net/smtp' require 'net/pop' require 'kconv' mail = TMail::Mail.new mail.to = 'recieve@some.domain' mail.from = 'your@gmail.
今までキャプチャにはgyamblr(矩形選択してtumblrにアップ)というソフトを使っていたのですが、 Vista64bitでは動きませんでした(単にtumblr側の仕様変更かもしれませんが) 最新版は2008年のものなのでこのソフトはあきらめ、別の方法を採りました 今回は矩形選択可能なキャプチャソフトとrubyスクリプトでキャプチャするだけで自動的にファイルをアップロードするようにしました 事前にflickrのAPI認証を行ってトークンキーを書き出しておきます(flickr.dat) 詳細はrflickrに同梱のサンプルを見てください 今回使用したスクリプトはこちら 説明は必要ないかと思いますが、このスクリプトのあるフォルダを監視して拡張子がjpe?gかpngのファイルがあったらアップロードし、完了したら削除します PLAIN TEXT RUBY: #flickr_uplo
con_mameさんに教えて頂きました navigator.geolocation.getCurrentPositionの結果はキャッシュされていて、 navigator.geolocation.getCurrentPosition(onSuccess, onError, options); のoptionsにmaximumAgeをミリ秒単位で指定すると、 その時間が経過したときにキャッシュが破棄されます(0だと毎回取得し直す) 他にもtimeoutの指定も出来るようです JavaScript
Railsでformメソッドを使わずにPOSTなど、GET以外でデータを送信すると ActionController::InvalidAuthenticityToken というエラー(HTTPステータスコード422)が返されることがあります これはRails標準のCSRF対策で、GET以外のデータ受信時にサーバ側で生成されるトークンが要求されるために起こります formメソッドを使えば自動的にトークンを生成して埋め込んでくれますので普通は遭遇しないのですが… 今回自分はGreasemonkeyScriptからxmlhttpRequestでPOSTして嵌りました 今回は外部から利用してもらうこと(APIのつもり)が前提なのでそのメソッドだけ skip_before_filter :verify_authenticity_token ,:only=>[:action_name] をコントロ
Exposeとは、現在開いている全てのウィンドウをサムネイル表示してくれるという機能です これが中々便利で、MacではDockの操作などはかなり違和感があったものの、これだけはすぐに病みつきになりました^^; ちなみに単なるウィンドウ切り替えのサポートなのでWinユーザならAlt+Tabで良くね?という話ではあります; #まぁLinuxでもAlt+Tab切り替えは出来るんだけど、Exposeの再現性が完璧だったので… 一応Windowsでもそういったソフトはありますが、有料だったり不完全だったりで芳しくありません しかし、Ubuntu等のLinuxではExposeと全く同等の機能を使えます まずはUbuntuでCompizConfig Settings Managerというパッケージをインストールする必要があります #そもそもCompizって何よって話ですが、これはLinux(
windowsのファイラーをXFinderというのにしました その際のカスタマイズまとめ ・フォルダをダブルクリックでXFinderを起動 explorerのフォルダオプションからファイルの種類タブでフォルダの詳細設定を開きます 新規でXFinderを追加し、アクションを実行するアプリケーションを下記のようにします “%x-finder%\XF.exe” /idlist,%I,%L ※%x-finder%はXFinderへのパスに置き換えて下さい OKで登録し、既定に設定をクリックします(XFinderが太字になる) ・表示するカラムを固定する まずは適当にカラムを設定します 右クリック->カラムで表示するアイテムの選択、カラムをD&Dで並び替え 設定が終わったら 表示->フォルダの表示設定を保存 で保存します 保存の際に拡張の欄を*にすると全てのフォルダに適用できます ・
普通にschema pluginを使ってモデルを定義していましたが、 リファレンスを見るとschemaはテスト向けの変更の予定が無いDB向けで、 普通はmigrationを使ってね、と書いてありました This plugin is mostly suited to test code. If there is any chance that your application’s schema could change, you should be using the migration extension instead. Sequel: The Database Toolkit for Ruby Sequel::Plugins::Schema PLAIN TEXT RUBY: # db/migrate/001_create_posts.rb class CreatePosts <S
Ruby Enterprise Editionを使って、Railsアプリの使用メモリ量を削減(43.5%カット)してみた – RX-7乗りの適当な日々 こちらを読んでやってみようと思ったのですが、何故か失敗したので調べました (REEについても後日試したい) 結果、CentOSだと不具合が出るようです Passengerでpassenger-memory-statsが失敗する – Temptation Days # sudo /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/bin/passenger-memory-stats /usr/local/lib/ruby/gems/1.8/gems/passenger-2.0.3/bin/passenger-memory-stats:150:in `list_processes': Inva
#追記 時代はGNU screenからtmuxへ - それ、Gentooだとどうなる? tmuxというのもいいかもしれません というのも、tmuxは特別な操作をしなくてもdetach時点での分割状態を保存してくれます screenだとどうやれば分割状態を保存出来るのか自分は分かっていません ただ、tmuxは現状パッケージマネージャで入れられないようなので更新が面倒ではあります #追記終了 Linuxでは大体ターミナルから操作を行っているのですが、前からターミナルを便利に活用できるらしいscreenというのが気になっていました screenは複数のシェルを切り替えて使えたり、分割表示したり出来るというのは知っていたので興味津々 早速インストールして実行すると普通のシェルっぽい表示です このままだと複数のシェルを起動した時にどれを操作しているのか分からないので.screenrc
Rails2.3.3で確認 [追記1] set_iphone_formatにviewファイルを振り分ける記述を追記 [追記2]振り分けれてなかったので修正…
アップロードプログレスバー表示までの流れをまとめてみました 使用するのはPHP_APCとprototype.jsだけです Progress bar Demo ※対象はLinux(Debian)で自宅サーバ(PHP5.2以降&ApacheなどのWebサーバ)を運営している方です まずはPHP_APCをインストールし、その後スクリプトを編集して行きます ・PHP_APCのインストール 必要なものをまとめてインストール aptitude install pear php5-dev apache-dev PHP_APCをインストール pecl install apc php.iniを編集 extension=apc.so apc.rfc1867=on をどこかに追加(extensionの場所がいいと思います) (他に、apc.max_file_size = *M、upload_ma
って一発で行けたという; これだとパスワードも変更できる 最初、これだとパスワードを毎回入力させないといけないんじゃないかと思ったけど、実際には入力された項目だけ更新される 素晴らしい! パスワード変更(というか忘れたときの再設定処理)は How to Change or Reset your Password with RESTful_authentication | Compulsivo で詳しく解説されています といっても英文なので自分もあんまり把握出来てない>< メールでの再設定はいつかやりたい rails
about:configで browser.tabs.closeWindowWithLastTabをfalseにします 同様の設定はaddonのTabMixPlusで行うことが出来ます firefox
Sinatraというか、Rackのparamsを用いたアップロードの仕方ですね rubyではいつもファイルのアップロードの仕方を忘れてしまうのでメモメモ
今はrailsでマイクロブログを作っているのですが、 本家twitterのように空の内容を投稿されても無視するようにしたかったので調べました railsではコントローラでrenderメソッドを用いて描画を制御出来るのですが、そこで render :nothing => true とすることで描画しない、ということが可能です 今回は投稿を保存するメソッド内で保存に失敗したら描画しないというようにしました 〜以下保存部分抜粋〜 if @post.save render :text => ‘保存した内容’ else render :nothing => true end こんな感じで使ってます 空かどうかなどはsave時のvalidationで判断します programming, rails
このページを最初にブックマークしてみませんか?
『yusukezzz weblog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く