朝4時台起きセルフメソッド 自分のため(セルフ)の朝4時台起きメソッド。 これはそういうことなんだ。。。 朝が暖かくなる5月半ばから 朝4時台に起きることを目標に試行錯誤していく。 まずは2日間だけ試した記録。 時間設定 +朝4時台とは 午前4時~午前4時40分ならOK +寝る時間 午後9…
■ [ruby] RubyでHTMLとWebを操作するためのライブラリ、HpricotとWWW::Mechanize 今日は、RubyでWebサイトを解析するときに強い味方となるライブラリ、HpricotとWWW::Mechanizeを紹介します。 どちらも非常に強力なので、覚えておいて損はないよ! 以下ではまずHpricotでHTMLを解析・編集する方法について解説します。 次に、「はてなダイアリーの自動更新」を例にWWW::Mechanizeの使い方を解説します。 Hpricot HpricotはHTMLを解析するためのライブラリです。 例えば「あるページのリンクだけを全部抜き出したい」と思ったとき、どうしますか?scrAPIを使う?でもscrAPIはやっぱり ちょっと使いたいだけなのにパーザ(Scrape)用のクラスを定義するのが面倒なんだよね! Hpricotなら、たったこれだけで
Rubyでは、簡単にデーモンが記述できる。その方法は簡単!Ruby 1.9だと Process.daemon と書くだけだ。その行の後は制御端末が切離され、デーモンとして実行される。Ctrl+Cで終了できないので、永遠に実行を続けるスクリプトは「pkill -f」などで殺す。 既存のスクリプトをデーモン化するには、この一行を加えればいいだけなのだが、常にデーモンにしてしまうとデバッグが困難になってしまう。そこで、テスト時はふつうに実行して、普段はデーモンにしてしまえばいい。その方法もまた簡単!上の一行を daemonize.rb というファイルに保存すればいい。だけどこれだけだとつまらないので、ついでにRuby 1.8にも対応させてみる。 if Process.respond_to? :daemon # Ruby 1.9 Process.daemon else # Ruby 1.8 req
ローカルで開発を行っていて、そのバグ管理を行う場合、Webブラウザを都度立ち上げたりGUIアプリケーションを立ち上げて管理するなんて面倒過ぎる。気がついたその場でささっと入力できるインタフェースが便利なはずだ。 タスクの詳細を確認する そこで考えられるのがターミナルだ。SSHで接続すればどこからでもBTSへの投稿ができる。これは盲点だが、便利ではないだろうか。 今回紹介するオープンソース・ソフトウェアはDitz、CUIで管理されるBTSだ。 Ditzはグラフィカルなインタフェースなどないので、とてもさくさくと動作する。ISSUEの管理を行う場所さえ決めれば皆で管理することもできる。Webシステムを開発しつつ、BTSはCUIなんて、なかなかオツなやり方だ。 ステータスコマンドで状況を確認できる DitzはRubyで作られており、RubyGemsを使ってインストールできる。後はditz ini
What is libHaru? libHaru is a free, cross platform, open source library for generating PDF files. It supports the following features: Generating PDF files with lines, text, images. Outline, text annotation, link annotation. Compressing document with deflate-decode. Embedding PNG, Jpeg images. Embedding Type1 font and TrueType font. Creating encrypted PDF files. Using various character sets (ISO88
This page is also available in English. 始めよう SinatraはRubyで下記のような最小労力で手早くウェブアプリケーションを作成するためのDSLです。 # myapp.rb require 'rubygems' require 'sinatra' get '/' do 'Hello world!' end gemをインストールして動かしてみる。 sudo gem install sinatra ruby myapp.rb localhost:4567 を見る。 ルート Sinatraでは、ルートはHTTPメソッドとURLマッチングパターンがペアになっています。 ルートはブロックに結び付けられています。 get '/' do .. 何か見せる .. end post '/' do .. 何か生成する .. end put '/' do .. 何か更
そもそも、マルコフ連鎖とは何なのか?全く聞いたこともなかった。そして、文章を要約するのはとっても高度なことだと思っていて、自分のレベルではその方法を、今まで思い付きもしなかった。 しかし、以下のようなシンプルなRubyコードでそれが出来てしまうと知った時、目から鱗である...。一体、何がどうなっているのだ?コードを追いながら、マルコフ連鎖を利用するという発想の素晴らしさを知った! 作業環境 MacBook OSX 10.5.7 ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0] mecab utf8環境でインストール済み マルコフ連鎖に出逢う rssを流し読みしていると、以下の日記に目が止まった。(素晴らしい情報に感謝です!) MeCabを使ってマルコフ連鎖 一体何が出来るコードなのか、日記を読んだだけではピンと来なかっ
概要 携帯電話用の Flash(Flash Lite 1.x) の作成にはいろいろ厄介な制限がある*1.とりわけキツいのは,HTTP 通信が,ユーザからの入力1つにつき1回のみに制限されている点である.つまり,1クリックに画像1つだけとか,テキスト一つだけしか取得できない.これはデータベースと連携してコンテンツを表示するようなアプリケーションを作成するとき,非常に厄介な問題となる. そのような場合の解決策として,loadMovie 関数とサーバーサイドによる swf 動的生成を組み合わせた方法がよく使われている*2.この方法は,サーバサイドで画像やテキストなどを一つの Flash ファイルに埋め込み,それをクライアントアプリケーションが getURL を使って読み込む方法である.getURL は引数に指定された URL が示すファイルを読み込んで,ブラウザで表示する機能である.同じような動
(2014/6/3 追記) MailCatcher がおすすめです。 MailCatcher (2008/11/4追記) gem版も作ってみました。 RubyでSMTPサーバを作る(1) - バリケンのRuby日記 - Rubyist id:muscovyduckさんの(素晴らしい)記事を参考に、ちょっとだけ手を加えて開発用のSMTPサーバ mocksmtpd.rb を作成しました。メールを外に出さずにHTMLで保存する単純なSMTPサーバです。 これを使うと、Seleniumでメールのテストが簡単にできるようになります。ユーザ登録時にURLをメールで送信して本人確認とか。間にメールが挟まってもテストがつながります。 使い方 # コンソールで実行 mocksmtpd.rb # デーモンとして実行 mocksmtpd.rb -d # デーモンを停止 mocksmtpd.rb stop他にオプ
HotRuby is Ruby on JavaScript and Flash. HotRuby runs Ruby source code on a web browser and Flash. HotRuby runs opcode, compiled by YARV(Yet Another Ruby VM) on Ruby. HotRuby is Ruby VM. Most of the grammars are implemented. However, exceptions are not implemented. Most of the build-in functions and build-in classes are not implemented.
通読したいと思っているのだけど、記事が多くていったいどこまで読んだか正直わからなくなってなんともはがゆかった。これを解決するためにどこまで読んだかを記憶するuserscriptを作った。 文字で説明するよりも実際に動かしてみた方がはやいんだけど一応説明。 install後にるびまを開くと、メインコンテンツのリンクの前にステータスを表すアイコンが表示される。ステータスの意味はポインタをアイコンにあわせると表示されるので割愛。アイコンをクリックすると全ステータスのアイコンが表示される。変更したい状態のアイコンをクリックすると、そのステータスを保存し選択されたアイコンのみの表示となる。 ページの遷移やステータス変更のたびに全データを呼び出し、ステータス変更を反映後保存しているので、ウィンドウやタブを複数開いていても変な上書きはしない。つまり(表示上は一致しないけど)内部データとしては矛盾が起きな
自動google検索。 require 'rubygems' require 'mechanize' agent = WWW::Mechanize.new # インスタンス生成 agent.user_agent_alias = 'Mac Safari' # User-Agentの設定 page = agent.get('http://www.google.com/') # ページ取得 search_form = page.forms.with.name('f').first # "f"という名前のフォームを探す search_form.q = 'Hello' # テキストボックス"q"に"Hello"を入力 search_results = agent.submit(search_form) # フォームのsubmitボタンを押す puts search_results.body # 結果
That title may be a bit of a stretch, AS3 does not support mixins in the same way as Ruby, but it is possible to define a set of methods and/or attributes in a single file and then mix those methods and attributes into your AS3 classes. Here’s how: First create a new ActionScript file (a file, not a class) then add the methods and/or attributes that you want to mix in to your classes. For example,
最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めの本です。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン
The Japanese prime minister has recently and successfully made sure that the cabinet approved the regulations for some gambling resorts, the first which would indeed open in Osaka in the near future. Some say it may open in the year 2024 and it will also provide a great new source of tax revenues. Japan has also successfully legalized casinos in the year 2016, and they also passed another bill whi
#include #include "libpasori.h" int main(void) { pasori *p; felica *f; uint8 d[16]; p = pasori_open(NULL); pasori_init(p); f = felica_polling(p, 0xfe00, 0, 0); felica_read_without_encryption02(f, 0x170f, 0, 0, d); printf("%d¥n", d[14]*256+d[15]); pasori_close(p); return 0;} require 'dl/import' module Pasori extend DL::Importable dlload '/usr/local/lib/libpasori.dylib' typealias 'uint8', 'unsigned
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く