タグ

tipsに関するkamipoのブックマーク (32)

  • Perl のローレベルエラー処理 (もしくは Errno.pm のススメ) - JPerl Advent Calendar 2009

    Perl のローレベルエラー処理 (もしくは Errno.pm のススメ) - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 例えば、「ディレクトリが存在しなければ作成」という処理を書くことを考えてみます。 if (! -d $dir) { mkdir $dir or die "failed to create dir:$dir:$!"; } でいいしょうか? いえ、違います。これだと、-d 演算子でディレクトリの不存在を確認した後、mkdir を呼ぶまでの間に他のプロセスがディレクトリを作成してしまう可能性があります。なので、たとえば C ならば、 if (mkdir(dir) != 0 && errno != EEXIST) { fprintf(stderr, "failed to create d

  • Git初心者が絶対に覚えておくべきコマンド - idesaku blog

    Gitの使い方を覚えるにあたって、まず知っておきたいのは――git-cloneだのgit-commitだのは当然として――「操作をミスったときにどのように回復するか」である。それを実現するのは、次の3つのコマンドだ。 git-commit --amend git-reset git-reflog git-commit --amend あるファイルをコミットしたとしよう。 $ (edit...) $ git commit -am 'メッセージ生成処理を実装したよ。'しかし、しばらくして彼は気づいた。 def create_massage(param) ...typoしてる!massageじゃない、messageだ!マッサージを作ってどうする! 慌てるな。まずは直してステージに上げるんだ*1。 def create_message(param) ...$ git add .そして…。 $ gi

    Git初心者が絶対に覚えておくべきコマンド - idesaku blog
    kamipo
    kamipo 2009/11/17
    git-commit --amend
  • 64bit かどうか判定する方法 | Carpe Diem

    Archives January 2017 (1) December 2016 (2) October 2016 (2) August 2016 (2) June 2016 (3) May 2016 (3) February 2016 (3) January 2016 (6) December 2015 (4) November 2015 (1) July 2015 (1) December 2014 (4) November 2014 (1) October 2014 (2) August 2014 (1) July 2014 (1) June 2014 (2) April 2014 (4) February 2014 (3) January 2014 (1) December 2013 (2) September 2013 (1) August 2013 (3) July 2013 (

    kamipo
    kamipo 2009/08/24
    getconf LONG_BIT
  • gdb tips - bkブログ

    gdb tips gdb を使う上で便利な tips を紹介します。基的な使い方をマスターしている人向けです。 .gdbinit の設定 ホームディレクトリに .gdbinit を置いておくと、gdb の起動の際に読み込まれます。私の場合は次のような設定をしています。 set history save on set history size 10000 set history filename ~/.gdb_history set print pretty on set print static-members off set charset ASCII set history から始まる最初の 3行は履歴に関する設定です。それぞれ、 gdb のコマンドラインの履歴をファイルに保存する、保存する行は最大 10000 行、ファイル名は ~/.gdb_history 、という意味になります。

  • Vim-users.jp - Hack #34:Vimのディレクトリ構成

  • ALTER TABLEを上手に使いこなそう。

    テーブル定義を変更したい。インデックスが壊れてしまったので再作成したい。そんな場合はALTER TABLEを使う。ALTER TABLEはテーブル定義を変更するお馴染みのコマンドであるが、その挙動は意外と知られていない。(エキスパートとおぼしき方々からも度々質問を受ける。)そんなわけで、今日はALTER TABLEについて解説しようと思う。 まず結論から言うと、なんとMySQLのALTER TABLEはテーブルのデータを全てコピーし直すのである。なんて無駄なことを!?と思うかも知れないが、テーブル定義(スキーマ)の変更を動的に行うには、ストレージエンジンによるサポートが必要であり、動的なスキーマ変更をサポートしているストレージエンジンはまだ少ないのである。(動的スキーマ変更をサポートしているのはMySQL Clusterぐらいだ。しかも追加だけ。)デフォルトで利用出来るMyISAMはInn

    ALTER TABLEを上手に使いこなそう。
  • Vim-users.jp - Hack #8: 作業の履歴を辿る

  • SSH の接続を共有する - odz buffer

    ref:http://www.revsys.com/writings/quicktips/ssh-faster-connections.html via:http://www.cuspy.org/blog/2007/09/21/ $HOME/.ssh/config に Host * ControlMaster auto ControlPath /tmp/%r@%h:%p とかくと、既存の SSH コネクションがあれば利用してパスワード/パスフレーズ入力なしで接続できるとのこと。おぉ、すげえ。 どうしても公開鍵認証をさせてくれないところなんかで役に立つかも。 そういえば、$HOME/.ssh/config を設定するという話はあまり知られていない気がするなぁ。知らない人は新山さんのでも読むといいよ。 入門OpenSSH 作者: 新山祐介出版社/メーカー: 秀和システム発売日: 2006/0

    SSH の接続を共有する - odz buffer
  • Exporter を使ったモジュールの継承 - daily dayflower

    おまえは何を言っているんだみたいな話だったらすみません。 たとえば,foo() という関数を export している ModA というモジュールがあるとします。 package ModA; use strict; use warnings; use base qw( Exporter ); our @EXPORT = qw( foo ); sub foo { warn sprintf '%s::foo called', __PACKAGE__; } 1; こいつをたとえば #!/usr/bin/perl use strict; use warnings; use ModA; foo(); のように使うと, ModA::foo called at ModA.pm line 12.のように出ます。 ここまでは当たり前。 use ModB したら ModA::foo() を呼び出せるようにしたい

    Exporter を使ったモジュールの継承 - daily dayflower
  • Ruby/Rubygems使い方まとめ - 俺の基地

    ネットワークからパッケージを探して一覧で出す hogeってキーワードに引っかかるパッケージ一覧出す gem search --remote hoge 省略形 gem search -r hoge ▲ ▼

  • PHPでメモリ上に一時ファイルを作る - hnwの日記

    blog.plastik.jp » PHP5 の fgetcsv() で読み込み内容が腐る現象」という記事を読みました。fgetcsv()だとSJISのCSVファイルがうまく読めないので、UTF-8に直してテンポラリファイルに保存してfgetcsvで読み込む、という筋書きのようです。 ちゃんとtmpfile()を使っていたりしてナイスなコードだと思います。でも、すぐ不要になるデータをディスクに書き込むのはイマイチじゃないでしょうか。ここはメモリに書いた方がカッコいいと思うんです。僕なら下記のようにします。 <?php $data = file_get_contents("example.csv"); $data = mb_convert_encoding($data, "UTF-8", "Shift_JIS"); $fp = fopen('php://memory', 'r+'); fw

    PHPでメモリ上に一時ファイルを作る - hnwの日記
  • インストールした Linux ディストリビューション名とバージョンを確認するには - PRiMENON:DiARY

    インストールしてから月日が経つと、どのディストリビューションをインストールしたか、ましてやバージョン名を忘れてしまいがちです。それをコンソールから確認する方法です。dmesg で起動画面のメッセージを確認できますが、ディストリビューション名は書かれていなかったりします。また、uname -a でも Linux バージョンとアーキテクチャしか書かれていなかったりします。 cat コマンドで確認する例です。もちろん、less や more でも構いません。 Redhat/CentOS $ cat /etc/redhat-release CentOS release 4.6 (Final) その2。 $ cat /etc/issue CentOS release 4.6 (Final) Kernel \r on an \m Fedora # cat /etc/fedora-release Fed

  • GNU diff の地味だけど便利な機能 - bkブログ

    GNU diff の地味だけど便利な機能 最近になって GNU diff の地味だけど便利な機能を2つ知りました。調べてみると、いずれも昔からある機能でした。 --side-by-side は2段組で結果を表示するオプションです。変更されていない行を含めて2つのファイルの内容全体と変更点が表示されるのがポイントです。変更された行の前後数行だけでなくファイル全体をまとめて読みたいときに使えます。デフォルトの表示の横幅は130文字です。必要に応じて --width オプションで変更できます。 こういった用途には meld などの GUI の diff ツールを使えばいいのですが、 ssh 端末しかないような状況で重宝します。 --strip-trailing-cr は行末の CR を無視する機能です。改行コードが CRLF と LF でい違っているけど、中身はほぼ同じ、というファイルを比較す

    kamipo
    kamipo 2009/02/24
    --side-by-side は2段組で結果を表示するオプションです。変更されていない行を含めて2つのファイルの内容全体と変更点が表示されるのがポイントです。
  • OLTPとは - IT用語辞典

    概要 OLTP(Online Transaction Processing)とは、商取引などに伴うデータ処理を、端末などからの要求に基づいて即座に実行する方式。いわゆるトランザクション処理を即座に実行するする処理方式を指す場合もある。 OLTPシステムでは、利用者の操作などに応じて提起された処理要求を、端末やクライアントが通信回線などを通じてホストコンピュータやサーバにすぐに送信する。これら中央のシステムは受理した処理を即座に開始し、密接に関連する複数の手続きを一体的に実行し、結果をすぐに返答する。 OLTPシステムは大量の処理要求が一斉に集まっても停止したり大きく遅延させない高い性能や拡張性が求められ、また、入出金処理など途中で中断してはいけない処理を扱うため、同時に高い信頼性も要求される。様々な分野や目的で利用される方式だが、日常的には座席やチケットの予約システムや、金融機関における入

    OLTPとは - IT用語辞典
    kamipo
    kamipo 2009/02/19
  • checkoutしたファイルのmtimeを、そのファイルがcommitされた時刻に合わせたい ― svnとgitの場合 - (ひ)メモ

    唯一の中央レポジトリと複数のcheckoutするノードというトポロジの場合、checkoutしたファイルのmtimeがノード間で同じ時刻(当該ファイルがcommitされた時刻)になっているとなにかと都合がいいです。 例えば、Webアプリのデプロイを中央レポジトリからのcheckout(やupdate)で行う場合を考えます。もし、内容が同じなのに複数あるアプリサーバの間でmtimeが異なってしまっていると、 サーバごとにETagヘッダの値が異なってしまう ※Apacheの場合、FileEtagディレクティブを調整(mtimeを見ないように)することによって統一可能ではあります サーバ間でrsyncをかけると無駄なファイルコピーが発生する 内容が同じににもかかわらずmtimeが異なるせいでコピーが発生する ※--size-onlyオプションでmtimeを見ないようにして回避可能ではあります と

    checkoutしたファイルのmtimeを、そのファイルがcommitされた時刻に合わせたい ― svnとgitの場合 - (ひ)メモ
    kamipo
    kamipo 2009/02/18
    git-set-file-timesはgit-logの出力を元にモリっとmtimeを変更しまくります。
  • MySQLの知っていると便利な構文(その1)|株式会社 フラッツ

    記事に誤った表現がございました。記事を参考にしていただいた方々、誤った表現で申し訳ございませんでした。お詫びして訂正いたします。また、誤りをご指摘くださった岩様、誠にありがとうございました。[MySQL]複合UNIQUEキーでも「INSERT … ON DUPLICATE KEY UPDATE」構文は使える 谷口です。 データベースの管理をしているとき、手動でデータの調整などをすることもあるかと思います。 今回はそんなときに便利なMySQLの構文をいくつかご紹介したいと思います。 もちろんアプリケーションに組み入れて使用しても問題ない構文もありますが、使用する局面は限られていると思います。 INSERT … SELECT 構文 CREATE TABLE … SELECT 構文 REPLACE 構文 INSERT … ON DUPLICATE KEY UPDATE INSERT

  • WindowsからMacに乗り換えて

    TwitterMacBookを買ったと発言したのが去年の11月10日のことですから,もう4ヶ月ぐらい経つんだな. 今月になって,研究室のメンバーだけで4人もMacBookを買った.この展開は想像できなかったよ.せっかくだから,Macの使い方について情報共有しましょう!というわけで,メインの環境をWindowsからMacに変えたボクが感じた途惑いなんかを中心に書いてみよう. 何しろまだまだ初心者なので,誤った記述などあればツッコミをお願いします! 基的なこと 初めてすぎてまったく分からなかったことがいくつかありました.言葉の対応は以下のような感じ.英語での呼び方も合わせて記しているのは,コマンドランチャから起動するときに覚えておくと嬉しいからです. Windowsのコントロールパネル的なもの : Macの「システム環境設定」(System Preferences) Windowsのプロセ

    WindowsからMacに乗り換えて
  • JPerl Advent Calendar 2008

    JPerl Advent Calendar 2008 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな?

  • MySQL の filesort プチテクニック - kazuhoのメモ置き場

    MySQL のチューニング関連のドキュメントを読んでいると「ORDER BY を避けろ」と書いてあるけど、できない (or したくない) 場合もあるわけで。そういう時はソート用の表と表示用の表を分割し自己結合することで、高速化できることもあります。適当な例ですが、 mysql> SHOW CREATE TABLE testt\G *************************** 1. row *************************** Table: testt Create Table: CREATE TABLE `testt` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `priority` int(10) unsigned NOT NULL, `data` varchar(255) NOT NULL, PRIMAR

    MySQL の filesort プチテクニック - kazuhoのメモ置き場
  • レキシカルスコープやらシンボルテーブルやら型グロブやら。 - hideden.hatenablog.com

    メモっとく。 use strict; our $hoge = 'HOGE'; my $hoge = 'hoge'; print $hoge; # hoge print ${hoge}; # hoge print $::hoge; # HOGE print $main::hoge; # HOGE print $::main::hoge; # HOGE print ${*hoge{SCALAR}}; # HOGE 型グロブからスカラー変数のリファレンスもらってデリファレンス no strict 'refs'; my $name = 'hoge'; sub name { 'hoge' }; print ${"hoge"}; # HOGE print $$name; # HOGE print ${$name}; # HOGE print ${name()}; # HOGE シンボリックリファレンス

    レキシカルスコープやらシンボルテーブルやら型グロブやら。 - hideden.hatenablog.com