シェルスクリプトで部分文字列を切り出す方法

例:"myokoym(25)"の括弧内の数字だけを取り出したい場合。 1.cutを使う http://www.k4.dion.ne.jp/~mms/unix/linux_com/cut.html $ echo "myokoym(25)" | cut -d"(" -f2 | cut -d")" -f1 25 上記は、cutコマンドを区切り文字指定で使用する例です。 「-dオ…

今年度のマニフェスト

今年はもう少し文系寄りのことも書いていこうと思います。コメント等で気軽に発言してもらえるような雰囲気にしたい。 受託開発の極意―変化はあなたから始まる。現場から学ぶ実践手法 (WEB+DB PRESS plusシリーズ)作者: 岡島幸男,四六出版社/メーカー: 技術…

新人SEが出社までに読んでおくべき3冊+97

1.なれる!SE なれる!SE 2週間でわかる?SE入門 (電撃文庫)作者: 夏海公司,Ixy出版社/メーカー: アスキー・メディアワークス発売日: 2010/06/10メディア: 文庫購入: 49人 クリック: 883回この商品を含むブログ (155件) を見る固定電話の転送方法が学べる一冊…

viでシェルの「$変数名」を「${変数名}」に一括置換するexコマンド

シェルスクリプトで変数を扱うときは、「変数名=値」で宣言して「$変数名」で使用しますが、「${変数名}」のように波括弧で囲うのが推奨らしいです。ただ、打つのが面倒なので、あと付けてみました。 viのコマンドモードで以下の破壊的コマンドを入力します…

gemを一括インストールするスクリプト

Rubygemsを再インストールした場合などに。時間がかかって仕方がないのでドキュメント(riとRDoc)はスキップしてますが、お急ぎでなければ" --no-ri --no-rdoc"を消してください。 GEM_INSTALL_CMD = "sudo gem install %s --no-ri --no-rdoc" INSTALL_GEMS…

Rubygems本体のバージョンを指定してアップデートする方法

アップデートしたら不具合が出て、ダウングレードしたい場合など。 動作確認した環境:Linux(Ubuntu)上でsetup.rbでインストールしたrubygems 例:さっき1.6.1に上げてしまったrubygemsを1.3.7に戻す方法 $ sudo gem uninstall rubygems-update $ sudo gem i…

RSS型Twitterボット作りました

RSSフィードを取得・加工してつぶやくBOTを作ったのでメモ。 Ruby用のTiwtterライブラリと、プラグイン集Yapraをインストール $ sudo gem install twitter $ sudo gem install yapra yapraのインストールに失敗する場合、 $ sudo aptitude install libxml2-d…

RSpecレベル上げ@レベル1

最近、ほとんど開発ができてないので、諸々の学習復習を兼ねてid:t-wadaさんのRSpec入門記事を一周させてもらいました。 開発環境はVim。主目的がRSpec習熟度上げのため、Gitへのコミットは書き捨てスクリプトで自動化するという暴挙に出ます。 #! /usr/loca…

ディレクトリを監視してファイルをコピーするスクリプト

某用途で使用したスクリプトです。 require "fileutils" include FileUtils COPY_FROM = 'C:\user\data' COPY_TO = File.expand_path(".") TARGET_SIZE = 1e6 SLEEP_SECOND = 10 def putlog(msg) puts "#{Time.now}: #{msg}" end cd COPY_FROM before_time =…

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/ ■特徴(将棋的な) その名の通り、ただの「盤」です。 動きチェックなどはありません。 その分、自由に駒を動かすことができます。 アナログな盤が…