2010-01-01から1年間の記事一覧

ServersMan@VPS日誌02 - Rubyをソースからインストール

なにはともあれ、スクリプト言語のひとつくらい必要なのです。というわけでRubyをひとつインストールします。最新版を使ってみたいので、ソースコードからに挑戦。バージョンは、先日クリスマスリリースされた1.9.2-p136。 インストールの方針ですが、「/usr…

指定した文字列を含む行を抽出するコマンド

:%s/\(.*対象文字列.*\n\)\|.*\n/\1/g ■ポイント viでやる際は、グループの括弧やバーティカルバーもエスケープする。素直にgrep使えばいいんじゃ

ServersMan@VPS日誌01 - Ubuntu初期設定

会社 VPSホスティングサービスはどこを利用するか迷ったけど、安さにつられてServersMan@VPSを選択。他にもIPv6が使えるなど。 OS Debian系を使いたかったのと、本家Debianを使うにはレベルが足りてない(初期設定ではDNSすら未設定で、wgetでruby-lang.org…

ImageMagick/RMagickで将棋盤を描くpart1

ブラウザ将棋盤の機能拡張として盤面図を出力させようと思い、ImageMagickというかRMagickをいじってます。 大きさが固定されている、なぜか太字にならない等々の問題はありますが、とりあえずそれっぽいものは出力できました。 !# /usr/bin/ruby require 'R…

サクラエディタの改行(CRLF)は\r\nで検索する

仕事でサクラエディタを使える幸せを満喫中のmyokoymです。 今回は、改行の検索方法を書きます。 他のWindows用エディタでは、改行を検索する際に改行の種類に関わらず\nで引っ掛けてくれるものが多いです。しかし、サクラエディタでは、 CR(旧Mac) \r LF…

古いメールアドレスを忘れそうなあなたへ

Rubyスクリプトをdaemonで起動する - tricknotesのぼうけんのしょを改造させてもらいました。 # reminder.rb require "rubygems" require "daemons" require "net/smtp" require "tlsmail" _, term, = ARGV term = term.to_i smtp_server = (GMailのSMTPサ…

札幌Ruby会議03を見て考えたこと01

昨日行われた札幌Ruby会議03について。 名札は用意したのですが、結局会場には行けなかったのでUstreamでの参加。映像も音声も終始安定していて、さらに右下に発表者の映像が映っていたりしたので、会場の雰囲気を味わうことができました。 以下は発表のまと…

OpenOfficeや一太郎(あとExcelとか)の差分比較に使えるWinMergeプラグイン「xdocdiff」

ファイルを間違えて保存してしまって、どこをいじったかわからない。しかもExcelだから差分比較ソフトは使えない・・!思い余ってバイナリエディタに走る前に試していただきたいのが、このWinMergeプラグイン「xdocdiff」です。 WinMerge http://winmerge.or…

相振り飛車のポイント(飛車先保留と端歩)

一応、このブログはお仕事関連の技術縛りだったんですが、メモする場所に迷ったので将棋について書きます。 向かい飛車の飛車先保留について 2筋(または8筋)の歩を突くべきか否か。(保留する側を後手として考えます) 4手目に△3三角とする向かい飛車は…

EBCDICのマルチバイト判定〜シフトアウトとシフトイン〜

マルチバイト文字を扱う文字コードでは、各バイトを文字単位できちんと区切って扱う必要があります。2バイト文字なのに1バイトずつ読んでしまうと、文字化けになってしまうからです。そこで、文字コード達は様々な方法で何バイト文字か判断しています。 で…

マウスでキーボード入力するWindowsアプリ

先日、マウスだけで文字を入力せざるを得ない状況になりまして。 昔も同じような状況になり、その時に対策ソフトを作った気がしたのでハードディスクを漁ったところ、運良く見つかりました。 ソースコードはとても読めたものではなく、即実行するとある程度…

FindBugsの古いマーカーが消えない時は、ビルドしてみよう(T/O)

サスペンド(スタンバイ)とハイバネーション(休止状態)の違い

OS

PCの省電力機能について。 ■サスペンド(スタンバイ) メモリに状態を保存する。電力消費あり。 ■ハイバネーション(休止状態) HDDに状態を保存する。電力消費なし。 ※待機電力は必要 ■参考 いろいろ Tips02.スタンバイと休止状態 - cool-r32.comhttp:…

変数の宣言位置はスコープで決める

ループ内のみで使う変数の宣言位置について。 ■A for (Map<String, String> map : list) { String var = map.get(KEY); . . . } とするか、 ■B String var; for (Map<String, String> map : list) { var = map.get(KEY); . . . } とするか。 半刻ほど調べた結論としては、中に入れる</string,></string,>…

【長いので】Sapporo.js-2010.10.03に行ってきた【オブジェクト編だけ】

前回に続き2回目の参加です。今回はJavaScript: The Good Parts(以下本)の3章と4章、オブジェクトと関数について。 Sapporo.js-2010.10.03 : ATND JavaScriptについては知識も経験もゼロに等しい。つたないJavaとRubyの知識で乗り切れるだろうか。 型 …

2010年09月24日のツイート

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

数値を英語表記に変換するライブラリ

始まりは、Project Euler - Problem 17でした。 1 から 5 までの数字を英単語で書けば one, two, three, four, five であり、全部で 3 + 3 + 5 + 4 + 4 = 19 の文字が使われている。では 1 から 1000 (one thousand) までの数字をすべて英単語で書けば、全部…

Project Euler - Problem16 “Rubyをキメると気持ちイイ”

今回は英語でがんばりました。 2^(15) = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.What is the sum of the digits of the number 2^(1000)?Problem 16 - Project Euler といってもほとんど数式ですが・・。*1 今回は図が出てこない、文字…

プロジェクト・オイラー再開 Problem15

数学ガールに影響されて、数学の問題をプログラミングで解こうサイト「Project Euler」を再開しました。 公式サイトhttp://projecteuler.net/ 和訳サイトhttp://odz.sakura.ne.jp/projecteuler/index.php?Project%20Euler 2 × 2 のマス目の左上からスタート…

Git入門を読んで基本を学び導入してみた

分散型バージョン管理システム「Git」を使い始めたので、基本事項をスライドにまとめました。 My add GitView more presentations from myokoym . ■補足 ディレクトリ単位の版管理だと、ファイルAを変更したときファイルBがどんな状態だったかわかる。ファイ…

「ブラウザ将棋盤」をリリースしました

app

RubyとjQueryを使ったWebアプリケーション「ブラウザ将棋盤」を作りました。http://shogiboard.heroku.com/ ■特徴(将棋的な) その名の通り、ただの「盤」です。 動きチェックなどはありません。 その分、自由に駒を動かすことができます。 アナログな盤が…

【Windows】【Ubuntu】v.s. Heroku の記録〜あらすじ〜【Sinatra】【Gems】

ここ数日続いていたHerokuとの戦いがひとまず決着したので、ここに記す。 〜あらすじ〜 紆余曲折の3日間。 ■Windows 最初の戦場はWindows。 heroku create までは何の問題もなかったが、 git push heroku 時に、秘密鍵のパーミッションが600でないと責めら…

【Java】プライベートメソッドをテストする方法【リフレクション】

単体テストを書くとき、よく問題となるのがPrivateメソッドの扱いです。PublicメソッドだけでなくPrivateメソッドまでテストする場合、大まかに分けて2つのやり方があります。 プロダクトコードを書き換えてテストする プロダクトコードは書き換えずにテス…

任意の桁数&区切り文字のランダムなIDを生成するスクリプト

ソフトウェアのプロダクトキーのような文字列を自動生成するスクリプトを書いたのでメモ。 とりあえず動くレベルのコードですが。 # 使用する文字のリスト list = [] # リストに数値を追加 0.upto(9) do |i| list << i.to_s end # リストにアルファベット(…

手軽にフォルダの排他ロック状況を調べる方法

フォルダを削除しようとしたら、中身のファイルは消せたのに空のフォルダが残ってしまった。なんとも中途半端で、これなら消さない方がよかった・・。そんな経験ありませんか? この現象は、そのフォルダがなんらかの形で使用されている場合に起こります。い…

【デザインパターン】監督の一存〜コンストラクタの連鎖〜

前回、コンストラクタの代わりにCreation Methodを使用したインスタンス生成を行いました。しかし、new以外のインスタンス化は全体の統一性を損なうとのご意見が出されたため、別の方法を考えることにします。 共通部分をくくるという発想はよかったとのこと…

とある超人のデザインパターン〜Creation Methodによるコンストラクタの置き換え〜

(V)o\o(V): ホッホッホ。 (o|o): 出たな、バル(以下略)! (V)o\o(V): 分身の術。 (o|o): ふっ、かかったな! (V)o\o(V): ホ? (o|o): 先日、オマエのソースコードを手に入れたのだ! (V)o\o(V): ホッホー。 (o|o): どれが本物かなんて一目瞭然!ど…

トムとWebサービス-phase001-Webサービスとは

Web

今日の札幌は猛暑まっさかさまだったようですが、クーラーの効いた部屋にリアル囚われていた私は気づきませんでしたすいません。 今回はWebサービスの概要について学習します。 単にWebサービスといわれても、Webがサービスしてくれるなんて当たり前ジャンっ…

トムとWebサービス-prolog

Web

巷では、リモートやらクラウドやらとWebまっさかさまですねこんばんは。 Web開発と聞くと逃げ出したくなる私ですが、いよいよ必要に迫られてしまったので、受けて立つことにしました。 まずは、差し当たり必要なWebサービスの学習を始めたいと思います。今ま…

【0は真】Rubyの条件式【オブジェクト可】

一般に、条件式の書き方は2通りあります。 (条件式とは、if (この部分!)then です) 比較演算子や論理演算子を使う(true か false) 変数や定数を単項で使う(値) Rubyでは、Boolean型に加え、どんな値でも条件式にできます。 (言語によっては、Bool…