タグ

ブックマーク / dqn.sakusakutto.jp (8)

  • ssh経由でコマンドを実行するとPATHが通らない件 · DQNEO日記

    リモートホストにある ~/bin/mycmd などのコマンドを実行しようとすると $ ssh remotehost mycmd bash: mycmd: コマンドが見つかりません となってしまいます。 $PATHを確認してみると、 $ ssh kai 'echo $PATH' /usr/local/bin:/bin:/usr/bin となっており$PATHが貧弱ぅ貧弱ぅな感じです。 原因 sshの仕様で、リモートログインのときは profile(~/.bash_profileなど)が読み込まれないみたいです。 よって環境変数などがセットされない。 対策としては何通りかあるようですが、私はシンプルにコマンドを /usr/local/bin/ の下に置くように変更して対処しました。 参考 こちらの記事にもっと詳しいいろいろな対処法が紹介されています。 [FREEBSD][LINUX] SSH経

    ssh経由でコマンドを実行するとPATHが通らない件 · DQNEO日記
    gin0606
    gin0606 2015/05/01
    なるほどな
  • cdせずに任意のgitレポジトリを操作する-Cオプションの紹介 · DQNEO日記

    例えば、git pullとかするときはcdしてからgit pullする人が多いと思います。 たとえばrbenvをアップデートしたいとき、 $ cd ~/.rbenv $ git pull $ cd ~/.rbenv/plugins/ruby-build $ git pull なんてしますよね。 でもいちいち cd するの面倒くさいと思いませんか? 実はgitには -C オプションというのがあって、これを使うと cd せずにレポジトリの場所を指定することができます。 git -C <レポジトリの場所> サブコマンド という風に使います。 なので、さっきの rbenvを更新する例はこのように書けます。 $ git -C ~/.rbenv pull $ git -C ~/.rbenv/plugins/ruby-build pull シェルスクリプとかcrontabから git を実行するときは大

    gin0606
    gin0606 2014/10/19
  • いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記

    はじめに これから書く内容は、シェルスクリプトをばりばり書いている現場(サーバエンジニアインフラエンジニア)向けのものではありません。 年に数回crontabをいじるような現場(サーバに詳しくないアプリケーションプログラマが多数を占めるような現場とか、Webデザイナや非プログラマがcrontabをおそるおそるいじったりするような現場)を想定しています。 >/dev/null 2>&1 の問題点 この記法の問題点は、「覚えにくい、間違えやすい、間違ってても気づかない」ということです。 初心者を迷わせる要素がこんなにあります。 >/dev/nullは先か後か 1と2はどちらが先か &はどこに書くのか よって下記のように多種多様なミスが起こり得ます。 2>&1 >/dev/null >/dev/null 1>&2 >/dev/null 2>1& >/dev/null &2>1 これをぱっと見て

    いい加減、>/dev/null 2>&1と書くのをやめたらどうか (追記あり) · DQNEO日記
    gin0606
    gin0606 2014/05/14
    使おうと思った時に毎回調べてるから良さそう
  • 引数なしのgit pushは危険なので気をつけましょう · DQNEO日記

    絨毯爆撃pushの例 いまmasterブランチに、未プッシュのコミットがあるとします。 ここで、新たにbr1ブランチを作ってチェックアウトします。 $ git checkout -b br1 master $ git branch * br1 master br1ブランチでコミットを作ります。 echo hello >> hello.txt git add . git ci -m "add file" 引数なしでプッシュします。 git push すると、どこに何がpushされると思いますか? 実は、master -> masterにpushされます。 masterがまだpushできる状態でない場合、これはかなり痛い。すごく痛い。頭が頭痛でおなかが腹痛。 しかもpushしたかった当のbr1ブランチはpushされないというオチ。(リモートにbr1ブランチがない限りは) この挙動は大半のユーザ

    gin0606
    gin0606 2014/03/11
  • ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記

    所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数

    ソースコード20万行の大規模サイトのPHPを5.1から5.4に上げるためにやったことまとめ · DQNEO日記
    gin0606
    gin0606 2013/11/18
  • Git pullを使うべきでない3つの理由 · DQNEO日記

    git pullは使わなくてもよい 初心者はgit pullを使わない方がよい 我々ソフトウェアエンジニアは勉強が大好きなので、コマンドがあるとそれを勉強して使いこなさなければいけないと考えがちですが、ときには「覚えない、使わない」という発想も大事なのではないでしょうか。 以下にその理由をのべます。 git pullは使う必要がない git pullを使わないとできないこと、というのはありません。 使わなくても全然困りません。 git fetchとgit mergeとgit rebaseだけですべての用は足せます。 私はチーム開発でGit格的に使い始めて数か月経ちますが、普段の作業でgit pullを使ったことはないしそれで困ったこともありません。 git pullを使わなければ、余計な落とし穴に落ちない git pullには落とし穴があります。 初心者はたいていその穴に落ちます。 「

    Git pullを使うべきでない3つの理由 · DQNEO日記
    gin0606
    gin0606 2012/11/17
    "Git pullを使うべきでない3つの理由 - DQNEO起業日記"
  • あなたもできる!C言語でテトリスを40分で作る方法 · DQNEO日記

    デモ ニコニコ動画の伝説の動画 「テトリスを1時間強で作ってみた【実況解説】」という動画をご存知でしょうか? 2009年にニコニコ動画で公開されて話題になった動画です。 インタビュー記事:「テトリスを1時間強で作ってみた」動画の投稿者にインタビュー──「プログラミングの楽しさ伝えたい」 この動画ではテトリスをいちから作ってわずか62分で完成させています。 しかし実はスタート直後はMinGWのインストール、EmEditorのインストールに続いてブロック画像の作成などをしており、プログラミングが始まるのは開始13分のところからです。 さらに次の10分は「空のウィンドウ」を作るために時間を使っており、実質的にテトリスのプログラミングが始まるのは動画23分のところからです。 つまり、実質的に40分のプログラミングでテトリスを完成させています。 で、動画を見ながら同じようにやれば誰でもテトリスを作れ

    あなたもできる!C言語でテトリスを40分で作る方法 · DQNEO日記
    gin0606
    gin0606 2012/11/11
    "あなたもできる!C言語でテトリスを40分で作る方法 - DQNEO起業日記"
  • MongoDBをext3で使ったら死んだ · DQNEO日記

    Linux File Systems MongoDB uses large files for storing data, and preallocates these. These filesystems seem to work well: ext4 ( kernel version >= 2.6.23 ) xfs ( kernel version >= 2.6.25 ) In addition to the file systems above you might also want to (explicitly) disable file/directory modification times by using these mount options: noatime (also enables nodiratime) We have found ext3 to be very

    MongoDBをext3で使ったら死んだ · DQNEO日記
    gin0606
    gin0606 2012/04/25
    "MongoDBをext3で使ったら死んだ - DQNEO起業日記"
  • 1