サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
katahirado.hatenablog.com
YQL Consoleで取得したいブログのRSSを、SQLっぽい構文で入力して確認してみます。 このブログのRSSで確認してみました。JSONで欲しいので、JSONにチェックを入れて TESTをクリック。 あ、*ではなく、titleとlinkだけ取ってます。 query.results.itemで一覧を取得できてますね*1。 後はそれを使って表示するだけです。 <script type="text/javascript" src="javascripts/jquery-1.7.2.min.js"></script> <script type="text/javascript"> function makeWhatsNewLiElement(item) { return "<li><a href='"+ item.link + "'>" + item.title + "</a></li>";
前に Google ドキュメントで作成したWEBフォームに問い合わせがあったら、内容をメール送信する機能を追加する という記事を書いたのですが、 2014年4月25日現在、Google フォームを作成すると、フォームとその回答用のスプレッドシートが別に作成されるように変わっていました。 過去記事ではスプレッドシートにトリガーを追加していましたが、フォームにトリガーを追加するほうがスクリプトがシンプルになって良さそうでしたので、やり方をメモ。 で、すでに親切丁寧な記事を書いていらした方がいたので、そちらを参照にすると良いかと思います。 http://jmatsuzaki.com/archives/11545 それだけではアレなので、自分のスクリプトも晒しておきます。 自分の使い道は、フォームから入力された内容を自分宛てに送信するという用途なので、ccやbccを使わないシンプルな内容です。 入
AngularJSのminify対策をしてくれるアレ。 例によって、generator-angularで作ったプロジェクトでの話。 grunt-ng-annotateをインストールしてgrunt-ngminを外して、記述をngminからngAnnotateにしただけでいけました。 % npm install grunt-ng-annotate -D diff --git a/package.json b/package.json index 77190a9..e1f2b1a 100644 --- a/ngapp/package.json +++ b/ngapp/package.json @@ -25,7 +25,7 @@ "grunt-google-cdn": "^0.4.0", "grunt-karma": "^0.8.3", "grunt-newer": "^0.7.0", - "gr
Action Controller Overview — Ruby on Rails Guides ↑ここに書いてある。 config/initializers/wrap_parameters.rbはRails4.1だとデフォルトで多分こうなっている。↓ Be sure to restart your server when you modify this file. # This file contains settings for ActionController::ParamsWrapper which # is enabled by default. # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. ActiveSupport.on_loa
grunt-connect-proxyを使って、rails server と、grunt serve の2つを叩いてLiveReloadで開発出来るようにしようという話。 あとフロント側をビルドするとRailsのpublicディレクトリに静的ファイルとして配備するように。 RailsのAsset PipelineにAngularJSを載せるんじゃなくて、サーバーサイド(Rails)とクライアントサイド(AngularJS)を分離しての開発の話。 こういう事↓ 理想的な Rails, AngularJS 環境の構築 - ボクココ 前提 Railsアプリ作成して、apiのnamespaceでAPIを作成済み、Railsアプリのルートにngappとかディレクトリ作って、yo angular --coffee でフロントエンド部を生成済みとする。*1 作業 % cd ngapp % npm ins
前のエントリーの通り、妻と自分用にレシピ検索アプリを作りました。 ソースコードはこちら。 出来るだけ検索結果で、食材をいい感じでヒットさせるために色々やったので、記録しておきます。 あと、検索結果を出来るだけヒットさせることに、全文検索機能は実はあんまり関係ないので、タイトルは釣りです。 いい感じでヒットするというのは、例えば白菜、はくさい、ハクサイでそれぞれ検索しても白菜、はくさい、ハクサイで登録されたデータが全てヒットするという状態です。これにプラスして、レシピタイトルのあいまい検索が可能になる、というのがゴールです。 要点としては、表記にゆらぎがあっても検索で出来るだけヒットさせるために、データ登録時にMeCabで形態素解析して読みがなも登録する、検索時もMeCab使う、collate(照合順序)にutf8_unicode_ciを使用する、です。 妻の要望、実際の使い方は以下の様な感
やっちゃ駄目って書いてあるからやるほうが悪いんですが・・ stringByAppendingPathComponent:のリファレンスには下記のように書いてあります。 Note that this method only works with file paths (not, for example, string representations of URLs). file pathsでだけ動くと書いてありますが、表題のようにfile://localhost/....となっている文字列で実行してみると・・・ NSString *baseURLString = @"file://localhost/directory/"; NSString *fullPath = [baseURLString stringByAppendingPathComponent:@"index.html"]; N
Rails 3.1以降。 コントローラーを生成すると、app/assets/javascripts/controller_name.js.cofeeが生成されているけど、標準だと、production環境では、どのコントローラーのviewを表示しているかに関係なく、これが全部まとめられてapplication.jsになって出力されている。 development環境の場合も、application.jsにまとめられていないだけで、全ファイルが出力されてる。 下記をfalseにすれば、development環境でもapplication.jsにまとめられて出力される挙動を見られる。 #config/development.rb config.assets.debug = true The Asset Pipeline — Ruby on Rails Guidesを読んでみました。 下記2箇所
Androidでのオレオレアプリ第二弾として、Facebookアプリを作ろうと作業していました。 で、Android SDKを使おうということで、 チュートリアルをやってみたのですが、SDKの組み込み方で少々つまずいたので、備忘録として残しておきます。 Facebook Android SDKは、gitでおっことしてきたSDKを、ライブラリプロジェクトとして、自分のプロジェクトから参照するのですが、それのIntelliJでのやり方についてです。 とりあえず、SDKを、IntelliJでexamplesもひっくるめて、丸々プロジェクトとして読み込んでみました。 続いて、自分のAndroidプロジェクトを作成し Project StructureのProject SettingsにあるModulesを選択 Moduleを新たに追加 先程作成したSDKプロジェクト内からmoduleをインポート
http://stacktrace.jp/jquery/with_other_lib.html#other_version noConflictの引数にtrue渡せばいいと。 <html> <head> <script type="text/javascript" src="jquery-1.2.6.js"></script> <script type="text/javascript" src="jquery-1.4.2.js"></script> <script type="text/javascript"> // $ 関数および jQuery関数の上書きを元に戻します。 var $j = jQuery.noConflict(true); // $ は jQuery ver1.2.6を参照します。 alert($.fn.jquery); // => 1.2.6 // jQuery は
Request SpecとCapybaraで、jQuery UI のSortableを使った並び替え部分のエンドツーエンドテストを書いていて、ハマったのでメモ。 Capybaraのドキュメントを見てみるとdrag_toというメソッドがあったので、これを使ってみたけど、ドラッグアンドドロップされなかった。動き的には、ドラッグはしてるけど、ドロップした時に元の場所に戻ってる感じかな? ちなみにコードはこんな感じ #drag&dropされない it "リストを並び替えると、「item2」が一番上に表示されること", :js => true do click_link "リストを並び替える" # 並び替えの画面に移動 source = page.find_by_id("item_#{items(:item2).id}") target = page.find_by_id("item_#{items
Google Apps Script(以下GAS)版つぶのみに機能を追加しました。 追加した機能は、ユーザータイムラインと検索タイムラインの表示、本文中のURLやメンション情報などのTweet Entitiesを表示するようにといった所です。これで画像などのURLにリンクからジャンプすることが出来るようになります。 それと、使う場合の手順で、シート名の変更が不要になりました。メンション、検索、ユーザーなど、それぞれのタイムラインを表示するシートは、なければ勝手に作られるようになっています。 ソースはこちら スクリーンショット メニューにuserTimeline,searchが増えてます reloadは、開いているシートに合わせてタイムラインを手動更新するようになりました 各タイムラインを呼び出した時に、mentions,search,userのシートがなければ勝手に作成されます セルを選択
デプロイ先のRubyがRVMだと、そのままだとRubyをCapistranoが見つけてくれないので、うぐっとなります。 しかし、デプロイする側のローカル環境でもRVMを使っている場合には、rvm-capistranoというgemをインストールして使うと、ちょこっと設定を付け足すだけで、うまいこと処理してくれるようになります。 では、デプロイする側にRVMが入ってなかった場合はどうするのかというと、deploy.rbに:default_environmentを設定してやればOKです。 自分の場合はこのようにしました。 #deploy.rb #remote rvm path set :rvm_base_path, "/home/deploy_user/.rvm" set :rvm_rb_version, "ruby-1.9.3-p194" set :rvm_rb_path, rvm_base_
twitter-bootstrap-railsは便利ですね。 とてもナイスなわけですが、タイトルの通り、PassengerでRailsをサブディレクトリで配備してたら、Asset Pipelineでハマったのでメモ。 先にどうしたかだけ書いておくと、Webフォントでの表示はやめて、画像表示にしました。 何がハマったのかというと、Twitter Bootstrapのアイコンを使ってゴミ箱とかユーザーとか表示をしてました。 ソース見てみると、Webフォントを使って表示してるんですね。ちょっと前までは画像だけしか使ってなかったと思ったのですけど。 で、開発環境では表示されていたのですが、Capistranoで本番環境にデプロイしたら表示されなくなったと。 本番環境はPassengerで、Virtual Hostを使用せずに、サブディレクトリで運用してます。 #passenger.conf Rai
いつもの藤岡さんの所でやってる朝活に参加してきました。参加者2名。 自分の朝活での作業内容はタイトル通りで、Chromeの拡張機能に大きな仕様変更が入っていたので、GCookpadにそれの対応をやってました。 どこらへんが変わったのかは下記参照。 http://code.google.com/chrome/extensions/manifestVersion.html http://blog.chromium.org/2011/07/writing-extensions-more-securely.html http://blog.chromium.org/2012/02/more-secure-extensions-by-default.html http://code.google.com/chrome/extensions/trunk/contentSecurityPolicy.ht
2014年4月25日追記: アップグレードされたGoogle フォームで自分宛てにメール送信するやり方の 記事を書きましたので、そちらを参照していただいたほうが良いかと思います。 Googleドキュメントのスプレッドシートで、簡単に問い合わせフォームを作れる機能があり、片平堂でも使っています。 便利に使わせてもらっているのですが、メール通知機能がいまいちなのが非常に惜しい。 なので、自分はGoogle Apps Scriptで、問い合わせがあったら、その内容を自分宛に送信するスクリプトを書いて、運用しています。 で、せっかくなので、設置の仕方含めて、スクリプトを公開しようと思います。 一応、問い合わせフォーム作成から手順を説明してみました。 手順 Google ドキュメントでフォームを作成します フォームの内容を追加していきます 今回は、お名前、メールアドレス、内容という項目を持った問い合
ちょっとしたメール送信スクリプトを書きました。備忘録。 Ruby 1.9.3で書いたのですが、Ruby 1.9 系で楽にメール送る場合は、mailを使うのがいいようで。 TMailはもう動かないんですね*1。 STARTTLSではなくSMTP over SSLかつ、オレオレ証明書を使っているSMTPサーバで送信する部分のコード片です。 6/12追記:コード全体はgistに公開してあります。 #! /usr/bin/env ruby # coding: utf-8 require "mail" require "mail-iso-2022-jp" #送信設定をセット Mail.defaults do delivery_method :smtp, { :address => "smtp.example.com", :port => 465, :domain => "localhost.loca
強制的にTwitter卒業出来ちゃいましたよ(・ω<) かなりおかしな事になったので残しておきます。 Twitterで退会を行う場合、設定(settings)のユーザー情報(account)一番下にあるアカウント削除("Deactivate my account")からアカウントの削除で出来ます。 この退会処理には30日の猶予期間があって、30日以内に再度ログインすると、自分のツイート、リスト、フォロー、フォロワーなどがそのまま復活できます。 実はこの仕様が結構くせ者で、本人にその気がなくても連携しているアプリ経由でうっかり再ログインして復活しちゃったりします。再ログイン時もconfirmが出て復活しますかとか聞かれないで問答無用で復活しちゃいます(あ、うぇるかむばっくってメールは来ます)。 本題。 最近もろもろ色々ありまして、ちょっとTwitterを一旦断ってみようかと思い、退会処理を行
最近ちょいとTitaniumStudioを使っているのですが、キーバインドでちょっと困ってることがありました。 Eclipseベースのヤツを使う場合は、いつもキーバインドをvim風にできるプラグインのVrapperを使っているのですが、TitaniumStudioに入れると、Ctrl-RのRedoがバッテイングしているらしく別な挙動でRedoしてくれなかったんです。 んで、設定画面のkeysから変更しようと調べてみたのですが、設定画面では、割り当てられてなかったんです。 ならばと標準のRedoにキーバインドを割り当てたらCtrl+R押す度に下のように選択が出るように。 暫く我慢して使っていたのですが、どうにも我慢できなくなってきっちり調べてみました。 で、発見しました。 https://aptanastudio.tenderapp.com/discussions/problems/1442
7月2日、デブサミ東北の併催イベント、TDDBC仙台に主催スタッフとして参加しました。 今回は主催だったので、主に運営側目線で書いてみたいと思います。 内容の感想は、参加した方のレポート等を、TDDBC仙台のページ下部にまとめてありますので、そちらからどうぞ :-) http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B001 また、当日のKPTを下記URLにまとめてあります。興味のある方はぜひそちらものぞいてみて下さい。 http://devtesting.jp/tddbc/?TDDBC%E4%BB%99%E5%8F%B001+KPT id:t-wadaさんの呼びかけを見て、TDDBCのMLに私が参加したのが6月15日、そこから約2週間で本番を迎えました。 MLベースでのやりとりが主でしたが、皆さん協力的で滞りなく準備出来ました。ありがとうご
ネット上で散見する情報などは1.2とか1.1だったりするので、公式のAPIとソースコードに直接当たった方がいい感じ。 時間短縮の為にと思って、CakaPHPポケットリファレンスを買ったが、1.3には対応していないので、今回はそれほど役に立たなかった。 以下、箇条書き。 Modelを削除するdelというメソッドがあったが、なくなってdeleteに変更。 findAll()はなくなった。find('all'); echo $this-Form->textarea('Task.content',array(.....)); 第一引数はフィールドネームのstring。1.1までは、$this->Html->textarea 'Task/content' 1.2では'Task.content'。 また、'Task.'を省略可能。この場合は、$this->dataが入っていることが前提。 その場合、v
毎回所々忘れるのでメモ。 6.9.1ベース。Macでの話。 Maven,jVi,scalaあたり。 Mavenプラグインをアクティブにして、オプションを開き、その他→Mavenと選択。 外部MavenホームにMacPortsで入れたmavenのパスをセット。 オプションのエディタ→整形のインデントをいじるとjViで警告が出るので、オプションを開き、jVi Config→Buffer Modificationsのtabstopとshift widthをインデントとあわせておく Scalaプラグインを入れただけでは、ツール→Scala PlatformにScala実行環境のパスが入ってないので、設定する。 /Applications/NetBeans/NetBeans\ 6.9.1.app/Contents/Resources/NetBeans/etc/netbeans.confを開いて2項目
詳細がなくてあれなんだけど。 今年もまた色々なものをいただいてしまった。自分の出来ること、自分のやり方で返していきたいと思う。 Ruby会議は昨年の自分と今の自分を客観的に比較出来る貴重な場でもある。 確認が出来ただけでも良かったです。 あと、今年はお金と時間と妻の許す限り、もっと他の地域Ruby会議に行って交流してこようと思いました。
地方で勉強会とか仙台Ruby会議とかやってて、いろいろ試行錯誤した自分の経験から、 Ruby会議について思うことをつらつらと書こうかと思ったけど、書き始めたら先に書かれた人達と相当かぶったので、さらっと。 Ruby会議のご利益とコスト 去年東北デベロッパーズコミュニティのイベントにて、吉岡さんが話してくれた資料からそのまま引用。 http://d.hatena.ne.jp/hyoshiok/20090305#p1 勉強会の法則 御利益>コスト 自然と続く 御利益=コスト 幹事の頑張りに依存 御利益<コスト 続かない私見では・・・ Ruby会議の参加者は御利益のほうがコストを遙かに上回っている。 スポンサーは・・・どうなんでしょ?コストが上回っているのかな?スポンサーさんの意見が知りたい。 スピーカーはご利益のほうがコストを上回っていると思う。 で、スタッフの状態というのは、外から見てると、
Scala@東北 第1回BootCamp&HackathonでのHackathonでScala2.8のSwingでシンプルなエディタを作ってみました。 ファイル関係の開く、保存等のメニュー以外はまだ未実装です。 メニューアイテムへのダイレクトショートカットキーが、MacではControllキーがコマンドキーになるので、Java Development Guide for Mac OS Xを参考に対応してみました。 以下コード import scala.swing._ import scala.swing.event._ import scala.swing.Swing._ import scala.swing.FileChooser.Result._ import java.awt.event.{KeyEvent=>JKeyEvent,InputEvent=>JInputEvent} im
Scala@東北 第1回BootCamp&HackathonでScalaのSwingで、調べたことなどを。 まずは、MenuItemのコンストラクタでActionクラスを引数にするパターンで引っかかりました。 new MenuItem(Action("新規"){ accelerator = ..... //などど書きたかったがエラー。accelerator_は、Actionクラスに定義されているメソッド。 ....... }) なお、一つ前のエントリーのコードを見てもらうとわかりますが、実際に書き上げたコードでは、明示的にnewしたActionクラスのインスタンスを渡す形になっていますので、これは途中での試行錯誤です。 Action("String"){.....}という書き方はコンパニオンクラスのオブジェクトのapplyメソットを呼び出しています。 Actionオブジェクトのapplyの
その3の続きです。 今回は、SQLiteの扱い方をかねて、コードに直接埋め込んでいたtwitter IDとpassをSQLiteに保存するように、アプリに機能を追加していきます。 今回の追加でアプリは以下のようにいたします。 初回起動、又はIDとpassが登録されていなければ、ID&PASS登録のinputタグ&Buttonを表示させる。 ID&PASSを登録済みならinputタグ&buttonは表示されない。 登録フォーム表示時(ID&PASS未登録時)はtwitterにポスト出来ない。 IDとパスワードを登録したらフォームを消す。 では早速実装していきます。 まずはIDとpassword入力&登録用のエレメントを用意します。 index.htmlと同一ファイルに用意して、JQuery.hide()等でトグルさせるで十分だと思いますが、せっかくの(?)チュートリアルなので、無駄にTita
あ…ありのまま 今 起こった事を話すぜ! 『おれはyuroyoroさんのScalaで書かれたChirpUserStreams&WebSocketなTwitterクライアントを改造していたと思ったら、いつのまにかRuby版を作っていた。』 な、何を言ってるのか(ry 7月18,19日に行われたCorona&Scala温泉開発合宿での自分の成果物の話です。 Scalaで書かれたChirpUserStreams&WebSocketなTwitterクライアントというのは、yuroyoroさんが5月10日に書かれた記事です*1。 今回の合宿では当初、これに改良を加えようと目論んでいました。 で、結果からいうと、Scalaの型パラメーターに敗北して、Ruby版を作成することに方針転換したと。 合宿中に行ったこと、成果 Scala版のコードリーディング完了 各種サンプルのコードリーディング完了 WebS
7月15日、 id:masanobuimaiさんにお願いして、Javaの環境まわりについて、マンツーマンで講義してもらったよ。 なんという贅沢でしょう。masanobuimai ++ おかげで大分理解が進みました。まだ怪しいですが、とりあえずのとっかかりは掴めました。 ありがとうございました〜。 経緯 そもそもなんでJava環境について知りたかったのかというと・・ Scalaお勉強してると、まわりの環境色々にひっかかるわけです。web上からサンプル拾ってきて動かしたり、書き換えてみたりすると、LL言語ばっかやってる身としては、例えばビルドツールとか配備の仕方とかにひっかかります*1。 よくあるサンプルなんかはパッケージ切ったりしないで1ファイルだったりするので、scalacでコンパイルすればOKだったりするのですが、web上から参考になりそうなものとか探してくると、とたんにどこになにが置い
次のページ
このページを最初にブックマークしてみませんか?
『仙台 Ruby Vim JavaScript フリーランスプログラマ』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く