サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
やる気の出し方
garapon.hatenablog.com
sedで改行コードを置換したくていろいろやってみたんですが以下のようにしても改行になってくれません。 sed 's/2007/\n/g' GARA2.txt > GARA3.txt (’\n’ にしたり\\nにしたりしてもだめでした・・・) trであれば改行に置換できるのですがtrは単語しか扱えないので上記のような「2007」を改行に置き換えれません。 困っていたら先輩がこうやればできるよと教えてくれた! sed 's/2007/\ ←「\」を入れEnterで改行する。 > /g' ←改行後にのこりを記述。 520076 ←置換対象の文字を入れてみると 5 ←見事に置換された 6 ファイルを利用すると以下のような感じで出来る。 $echo 520076 | sed -f sed-cond.txt 5 6 $cat sed-cond.txt s/2007/\ /g 追記 perlでやればこん
Java6にも対応したデコンパイラJavaDecompilerが超絶便利だった。 いままでJadを愛用していたのですがジェネリクスやEnumとかのときにデコンパイル失敗したりしていてなにかいいものが無いかと探していたらいいものを見つけました。 http://java.decompiler.free.fr/?q=jdgui#downloads このツールお勧めな点が3つあって Java5から導入されたジェネリクスやアノテーションに対応していること Jarファイルごとデコンパイルできる 折りたたんだりクラスに飛ぶことが出来る という点。 Java5から導入されたジェネリクスやアノテーションに対応していること たとえば以下のソースがコンパイルされたクラスファイルがあったとして package jp.co.gara; import java.util.ArrayList; import java.
今年もデブサミの季節がやってきましたね。 デブサミはいい刺激がたくさん受けれるからたまらん SIerのこれからのソフトウェアを創る:papanda とにかく凄くいい内容だった。 思い出すだけでぐっとくる。 ソフトウエアは世界を変えていける ちょっとずつが重なってだんだんよくなっていく 今の問題は3つあり 変化に対応できない(計画の問題) 価格への納得感がない(価格の問題) 必要なソフトが必要なタイミングで得られない(プロセスの問題) 仕様変更管理はお客様に何の利益をもたらすのか? 何ももたらさない。WinLoseになってしまう。 仕様変更管理などといっているうちは絶対に変化できない。 ビジネスモデルとプロセスはわけて考えることはできない。 プロセスのみを変えてもかわらない。 価格を人月以外で計る。パフォーマンスベース契約。 しかしこれは成果を図るまで時間がかかるという問題がある。 そこで短
DB2のロックの仕組みはDB2を使っている人には当たり前なのかもしれないのですが、Oracle使いにとってはかなり異様な仕様になっています。 そんなななかで今日また新しい驚きを得たのでメモ。 なんとDB2の「Select for update」は「With RS」か「カーソル」を使わないと有効にならないということが分かりました。 Oracleの場合以下のSQLでTESTTBLのID='1'の行をロックすることが可能です。 SELECT * FROM TEST WHERE ID='1' FOR UPDATE しかしDB2の場合上記SQLではロックできず他プロセスから更新されてしまいます。(分離レベルがデフォルトのCSの場合)更新しないようにするには以下のように「WITH」句で「RR」か「RS」をつける必要が有ります。 SELECT * FROM TEST WHERE ID='1' FOR U
配列を使うときのおさらい shでは配列を扱えないのでevalをつかって擬似的に扱う*1 bashで配列の全ての要素を得るには${array[*]}もしくは${array[@]}を使う bashで配列の要素数を知るには${#array[*]}を使う ちなみにIFSを変更すると区切り文字を任意に変更できる 改行を使うときはIFS=$'\n' とかく まとめるとこんな感じ #!/bin/bash arr[0]=gara arr[1]=garapon arr[2]=garagara echo ${arr[@]} arr=(bash sh ksh csh) echo ${arr[*]} echo count: ${#arr[*]} gara@ubuntu-vm:~$ ./test.sh gara garapon garagara bash sh ksh csh count: 4たまに思い出そうとする
性能を見るのでPSやらsarを使うわけですがやっぱりデータはグラフ化したいです。 PSだったらPSグラフ化君とかがあって便利なのですが、IOとかも一緒に全部みたいとかなるとSarが楽です。 んで、Sarをグラフ化したいなと思っていたらめっちゃ便利なものがありました。 http://ksar.atomique.net/ ダウンロードは以下 http://sourceforge.net/project/showfiles.php?group_id=179805 すごいところ グラフがかっこいい。シンプルで見やすい。 画面はこんな感じ。 CPU情報 Eth情報 IO情報 メモリ情報 グラフの任意の場所を拡大できる。 マウスでボックス選択するとそこが拡大。 時間指定でグラフ化したり出来る。 グラフを以下の形式で出力できる。 PDF PNG JPG CSV TXT Sarを見る時のニーズはほぼ全て満
最近皆に教えてもらってばっかのpentasaです>< 今日tortoiseSVN等でProxy経由でリポジトリにアクセスしようとしたら何故か「400 Bad Request」のHTTPエラーが返ってきた。 エラー: REPORT request failed on '/xxx/!svn/vcc/default' エラー: REPORT of '/xxx/!svn/vcc/default': 400 Bad Request (http://svn.xxxx.org) でもブラウザでリポジトリ開くと見れる。なんでやねんって困っていたら、それは使ってるProxyサーバが、Subversionの使うHTTPのメソッドをサポートしていないからだよってid:rx7が教えてくれた。 対処法としてはProxyサーバの設定を修正してSubversionの使うHTTPメソッドを使用できるようにするか、HTTP
ちょっと学んだので整理。 まずJavaにはランダムを提供するクラスとして java.util.Random java.security.SecureRandom の2つがあってRandomクラスは以下のような強度しか持っていない。 Random クラスのインスタンスは、一連の擬似乱数を生成します。クラスでは 48 ビットのシードを使い、このシードは線形合同法で変更されます。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/util/Random.html しかも初期化があまりよくなくて初回の乱数がとても偏る。 Random r = new java.util.Random(); double x, min = 1, max = 0; for (int i = 0; i < 1024; i++) { r.setSeed(
ダーツに嵌ってレーティングをチェックしては一喜一憂してます。しかしこのレーティング、LiveのHPでは月単位でしか増減がわからない。 これではやる気もそがれてしまうので。。。LiveのHPからデータを取得してはてなグラフで可視化してみました。 ゴール 自分の所属するグループ全員のRatingの遷移をはてなグラフにしたい。 ダーツライブHPからデータ抜き出し。 まずはライブのHPからデータを抜き出さなければなりません。 これは普通にHttpURLConnectionクラスを使用して会員ページにログインしグループメインからランキングのHPを取得します。 ランキング部分のHTMLは以下見たいになってるのでここから名前とレートを取得する。 最初はhtmlparserで情報を取ろうとしたんだけどタグに名前が付いていなかったりめんどくさかったので力技で抜き出しました。 1 7.61 pts ぺんたさ
男子たるものJVMと仲良くせねばなりません。 仲良くなるにはまず相手のことを良く知ることから始めましょう。 Coreダンプを読むには 至極一般的なCoreといえばこれ。基本ツールに食わせてうはうは言いながら見るといい。 IBMのダンプアナライザはここからDLできる。 http://www.alphaworks.ibm.com/tech/jca/download 侍もみやすい。 http://yusuke.homeip.net/samurai/ja/index.html HeapDumpを読むには Coreだけじゃ満足できない時はHeapも見る。てかJavaHeap内のメモリ使用状況の解析をしたいならHeapDumpをみなくちゃ始まりません。 普通にHeapDumpを解析するならGUIでみるのが一番。 IBMからでてるHeapAnalyzerを使うのがベター。 メモリが少ないと動かなくなるの
デブサミで「パネルディスカッション 帳票開発の肝」と題して帳票についてパネルディスカッションをさせていただきました。 帳票というデブサミではあまりメジャーじゃない話題でしたが、楽しんでいただけたでしょうか。 紙に印刷したものの重要さ管理の難しさとかテストの難しさを伝えたかったのですがうまく伝えられたでしょうか。 帳票は業務システムにおいては結構な割合を占める割りに提案時や設計時に結構忘れ去られていて、後で課題になる事が多いのでそんな事の防止にすこしでもなればいいなと考えております。 今回いままで客席でしか見たことのなかったデブサミで喋ることができてとてもよい経験になりました。 一緒に喋らせていただいた小井土さん、色々と準備をしてくださった岩切さんそしてチャンスを与えてくれたid:kuranukiさん本当にありがとうございました。 そして聴きにきてくださった方本当にありがとうございました。
昨日久々に机で寝落ちしてちょっと寝不足&体が痛い状態で参加。 にしても寝落ちしたの久しぶりだ。やっぱ東京は安心してしまうのか 印象に残ったところメモメモ。 言語おたくの話 さすがMatz。という感じの話。世界初のプログラミング言語はFORTRANではない。 Plankalkulというのが1948年にあったらしい。へぇへぇへぇ Matzのネットワーク応用通信研究所の半分はRubyだが半分はCOBOLらしい。へぇへぇ プレゼン資料にPHPの文字は出てこなかったw*1 時を越えたプログラミングの道への道 角谷さんはいつも圧倒される。 資料が早速公開されてた http://kakutani.com/20090212.html あわせて読みたい http://kakutani.com/articles/xpe2nd-chapter23/slide30.html 美しいソースコードのための考え方。 休
railsのセットアップしてたらMysqlにつながらない。 % rake db:migrate No such file or directory - /tmp/mysql.sock ふむふむファイルがないのね、てことで「mysql.sock」で検索してもそれらしいファイルが見つからない。あらまとさらに検索したらmysqladminで自分のsocketが分かるらしい。 # mysqladmin version mysqladmin Ver 8.41 Distrib 5.0.22, for pc-linux-gnu on i486 Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB This software comes with ABSOLUTELY NO WARRANTY. This is free so
ちょいとした要件でRubyでSOAPクライアントを作りたい!! 調べたところsoap4rが便利らしい。なので早速使ってみる。 gem install soap4r 入れたらアクセス先のWSDLからモック(?)を作る wsdl2ruby --wsdl 'http://targethost/target?wsdl' --classdef するとtarget.rbが出来る。中を見るとメソッドなり色々IFが出来てる。 んでそれをrequireする。 調べていたら wsdl2ruby --wsdl 'http://targethost/target?wsdl' --type client のほうが便利だ! クライアントクラスのスケルトン一式全部つくってくれていいな。 そして `complexobj2soap': nil not allowed: garaData (SOAP::Mapping::Ma
ディレクトリトラバーサル攻撃を検知する場合「../」を検知するとかではダメで以下のIPAのサイトにあるようにちゃんとしたチェックが必要。 http://www.ipa.go.jp/security/awareness/vendor/programming/b07_07.html 必要なのは以下の精査。 パス名を正規化し、正規化する前と比較し一致すること パス名の各階層のディレクトリが実際に存在すること パス名の各階層のディレクトリのオーナやグループ,ファイルモードが適切であること パス名中にシンボリックリンクが含まれていないこと このうち パス名の各階層のディレクトリが実際に存在すること パス名の各階層のディレクトリのオーナやグループ,ファイルモードが適切であること の2件は普通にチェックするだけなのだが、シンボリックリンクかどうかを検証するのと、 正規化したものが一致するかどうかを検証す
rails2系はえらい子なのでCSRFを自動的に防止してくれます。 app/controllers/application.rbに protect_from_forgery # :secret => 'ないしょ' とかいとくだけでget以外のときに自動的にトークンを埋め込み不正な遷移かどうか確認してくれます。なんとも出来る子です。しかし、この機能とセッションタイムアウトの設定を同時に使うとなんともエラーが発生してしまう。 この機能はaction_controller/request_forgery_protection.rbの中でセッションの中のダイジェストとクライアントから送られてきたダイジェストが同じかどうかを判断しているのですが、セッションタイムアウトが働いているとこの時点でセッションが空っぽになっている。なのでCSRFエラーとなりActionController::InvalidA
会社の人に聞かれたのでちょっと纏め。 表領域等の一度取得されたエクステントはDELETEでデータを消しただけでは解放されず未使用領域になるだけです。なのでHWMはそのままです。 HWMがそのままなのでDBA_FREE_SPACEとかで見ても容量変わりません。(DELETEじゃなくTRUNCATEすればエクステントごと消える) 圧縮オプション付きでexp後、DROP&CREATEして表領域を再構築する(10Gだったら新機能のSHRINK SPACEでもできます)必要が有ります。 http://www.shift-the-oracle.com/element/high-water-mark/rewrite-high-water-mark.html またローカル管理領域関して、空き領域を連結するにはコアレスを明示的に発行できないため、空き領域の連結したい時も上記のようにする必要が有ります。 表領
いや〜〜〜サーバー構築ってまじむずいっす。 とくにlighttpdがむずい。エラー分かりにくすぎw でもなんとか動いて一安心です。 unexpected end-of-file (perhaps the fastcgi process died) 何かあるとすぐにこのunexpected end-of-file (perhaps the fastcgi process died)エラーがでる>< しかしだいぶエラーになるタイミングが分かってきた。 まず、サーバー起動時にエラーが起こると起こるようだ。 例えばreqireしてるファイルが見つからなかったりconfig配下のファイルの内容で落ちるとこのエラーになる事がおおい。 対処法としてはwebrickで起動してエラーが出ないかを確認するといい。 またWebrickで出ない問題としてはgemのバージョンの差異でもこれが出ている模様 Rails
Linuxにはapt-getがありRubyにはgemとかひじょ〜〜〜〜〜〜〜に便利なものがそろっている訳ですが、本番機というのは得てしてクローズドな環境に置かれています。 なので上記のようば便利ツールは一切使えません。インストールしたかったらメディア調達してセンターに持ち込んでえんやこらしょとインストールするわけです。 これだけ書くと悪く見えますが、勝手に更新されるのを防いだりセキュアであることが重要視される場合はとっても重要なことです。 てなわけでスタンドアロン環境にRailsを構築するまでをまとめてみた。 お題としては Rubyのインストール RubyGemのインストール Railsのインストール OCI8のインストール(Oracleを使用するため) な感じ Rubyのインストール 何はともあれまずrubyがないと何も出来ません。 ソースの入手 http://www.ruby-lang
Windows環境で gem install sqlite3-ruby とすると以下のように怒られる>< C:/Ruby/bin/ruby.exe extconf.rb install sqlite3-ruby checking for fdatasync() in rt.lib... no checking for sqlite3.h... no nmake 'nmake' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 最新版(1.2.4)はまだWindowsに対応していないらしく1.2.3をインストールせねばならない。 gem install sqlite3-ruby --version '= 1.2.3' これでOK。
Vimperatorが便利なのでもう少し自分が使いやすいように設定しなおしたので_vimperatorrc晒し 基本的にhttp://blog.blueblack.net/item_249をベースにしてます。 " 1.2 (created: 2008/08/16 18:51:52) " Mappings source! ~/_vimperatorrc.local "+----------------------------------------------------------------------------------------+ " 基本設定 "+----------------------------------------------------------------------------------------+ "ブラウザタイトルの変更 set titlestri
XP祭りでLTしてしまいました!!! 無敵状態になっただけかと思ったら、更に銀メダルをいただいてしまいました!!!!! なんかいまだに実感がわかないのですがとっても感動です。 足立さんのLTがすばらしくて泣きそうになりながらきいていて自分なんかが選ばれるとは思ってもいなかったのでとても驚きました。 超緊張してたしパワポは途中でフリーズするしめちゃめちゃ焦ってかなり早口になってしまいましたが何とか喋り終えれて良かった。(もて系OLのドラ娘の出番を減らしてしまった・・・) あんなネタまみれのつたないLTを聞いてくださった皆さんありがとうございまいた。あと審査員の方もありがとうございました。 私がライトニングトークスをはじめて見たのはXP祭り2005に参加した時で、角谷さんのRubyのLTをみて衝撃を受けたのを今でも覚えています。それから3年して自分も同じ舞台で喋らせていただくことが出来ました。
半年ほど前に主治医から痩せないとやばいよって忠告をいただいたのでダイエットしてみたので考え方を整理してみる。 まず基本的なところとして減らすべき脂肪のことを知るのが大事 ・脂肪1キロ=7200kcal=体積1.2リットル なので、毎日240kcal減らすと1っか月で1キロやせる。 ・240kcalの目安 ご飯お茶碗1杯 発泡酒ロング缶1本 どら焼き1つ ジョギング27分 ウォーキング50分 1日の消費カロリー ・基礎代謝 1500kcal ・一日総消費カロリー(TDEE) 2300kcal つまり、論理上1日2060kcalにおさえて生活すれば1キロやせていくとはいえ飲み会があったりして日によって2000kcalぐらいオーバーすることを考慮して 1月12000kcalぐらい減らすつもりで生活すると1キロやせる。 12000/30=400なので1900kcalぐらいで月1キロ 20000/3
Firefox実験場 Youtube Encoder ニコニコとかYoutubeをflv, wmv, mp3, 3gp, mp4に変換保存してくれるFireFoxのアドオンが遂にFireFox3に対応してた。 FireFoxのアドオンで右クリック一発でFLVのダウンロードから変換まで全部できるのがとてもいい。 iPodへの変換時に画面サイズをiPodに合わせて修正してくれるところとか気が利いていてとてもいい。 インストール http://www.doi.ics.keio.ac.jp/~takanori/firefox/youtubeencoder.xpi 使い方 Youtubeかニコニコで右クリックするだけ。 「Youtube Encoder」のメニューの中から選ぶだけ。 動画をFLV形式で保存 動画をWMV形式に変換して保存 動画をMP3形式に変換して保存 動画を3GP形式に変換して保存
GoogleカレンダーAPIを使ってみました。 かなり情報が少なくて参った。すんごく簡単なサンプルはあるんだけどその先がない。ちょこちょこつまづきながらもとりあえず一連の操作はできるようになった♪ これで明日ぐらいにはスケジュールボードとの同期が出来そうだ。 準備は凄く簡単でgoogle/gdata-java-client · GitHubから一式落としてきてactivation.jar,mail.jar,servlet-api.jarを適当なところから落としてきたらハイ終わり。後は自分でソース書くだけ。便利だな〜 PJとして使うなら以下の2つのJarだけでも動くはず。 data-calendar-1.0.jar gdataclient-1.0.jar でもソース読みながらの方が断然やりやすいのでDLしたら一色まるっとEclipseにとりこんじゃうといいよ てなわけで今日つまづいたポイント
Colinuxに浮かせているMySqlにリモートから繋ぎたくなったのでやり方を調べてみた。 MySqlのバージョンによってかなり手順が違ったり難航したのでメモ。 今回は以下のバージョンでやってます。 サーバー Mysql5.0.22 (Ubuntu 6.06) クライアント Mysql5.0.41, for Win32 サーバー側での設定 1、接続するユーザーに全ホストからの接続権限を付与する。*1 mysql>GRANT ALL PRIVILEGES ON *.* TO user@"%"; 2、my.cnfよりbind-address制限を削除。 /etc/mysql/my.cnfを編集し以下の行をコメントアウト。。 bind-address = 127.0.0.1 3、Mysqlを再起動。 #mysqladmin -u root shutdown #mysqld_safe & クライア
Railsで使ってるMySqlをブラウジングしたかったので話題のRailsDBを使ってみた。 といってもまだ0.2バージョンでデータ構造を見るだけで、レコードの中身をみたり編集することは出来ないんだけど。 まずは入手 http://railsdb.org/ インスト―ル&起動 落としてきたファイルをサーバーに配置して展開して実行。 tar xvf railsdb_0.2.tar ruby script/server -p3500 んで http://localhost:3500/ を参照すると・・ no such file to load -- sqlite3 おっとSqliteがないとダメみたいだ。そういえばdb:migrateもしてないや(汗 まずはSqliteをインストール apt-get install sqlite3 #本体をインストールしてから gem install sqli
RubyKaigi2日目に初めてUST+IRCで参加してみました。(1日目は現地へ赴いて参加、2日目は午前中は自宅でUSTを視聴し、午後は秋葉のケンタでUST視聴してました。) そこで自分なりに大きな気づきが有ったので書いてみます。 Ustで参加することの利点 見やすい配信(音も良かった)がされていたので不便さはなかった。 時間拘束が短く済む 興味のないセッション中は買い物をしたりしていました。 IRCがあると参加した気分になれる。 _METHOD_ 参加費無料 5000円払わないでここまで見れるとなると何に5000円払ったのかよくわからなくなる。 交通費無料 会場がつくばだったこともあり往復3000円かかりました。でもUSTで見ればこれも無料 見逃したセッションも続々ニコニコにUpされており補完可能 遠隔地の人も参加できる。 沖縄にいようが、地球の裏側に居ても参加できる。 Ustを見た人
RubyKaigiいってきました。初参加です。 雑感まとめ。 英語をセッションは半分ぐらいしか理解できなかった。 もすこし英語やらないとな IRCが前面に表示されているのはいい ちょっと文字が小さくて途中から前の席に移動した。 ささださんの質問が面白い。 増原さんはとても話が聞きやすい。さすが助教授。 初学者はエキスパートが気づかないところで躓く テストを先に配ってTDDさせる。という案はすごくいい。 Yugui++ お前は何もわからんのだから黙ってろ
このページを最初にブックマークしてみませんか?
『自分の仕事を憎むには人生は余りにも短い』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く