sed コマンドでファイルを上書き保存する方法

sed コマンドでファイルを上書き保存する方法を調べたので自分用メモ。

-i オプションを付けて上書き保存

sed -i -e '1d' input.txt

リダイレクト > を使った上書き保存

sed -e '1d' input.txt > output.txt
cp output.txt input.txt

どう考えても sed -i の方が便利ですね。

アニメーション gif をループ再生させる設定方法

Mac の Finder 上でアニメーション gif ファイルをスペースキーで開くとエンドレスリピート再生されるのに、ブラウザで開くと1回しか再生されないのなんでだろう?と思って調べてみました。

Stack Overflow に同じような質問があって「gif ファイルに定義されているから、エンドレスアニメーションループを有効にする編集をするんだ」みたいな回答が書かれてあって、「あ、そりゃそうだよね」と妙に感心してしまいました。

gif ファイルの編集には Gifsicle というCommand-Line Animated GIFs ツールを利用しました。

gifsicle のインストール

brew install gifsicle

ループ設定方法

無限ループ

original.gif のループ回数を無限に設定するには -l, –loopcount オプションをつけて gifsicle コマンドを実行するだけです。

gifsicle --loopcount original.gif > output.gif
gifsicle -l original.gif > out.gif

-b, –batch オプションをつけることで original.gif に上書きすることもできます。

gifsicle --batch --loopcount original.gif
gifsicle -bl original.gif

ループ回数を指定する

original.gif のループ回数を指定したいときは -l=N, –loopcount=N というオプションで設定できます。

例えば、ループ回数 2 の場合、

gifsicle --loopcount=2 original.gif > out.gif
gifsicle -l=2 original.gif > out.gif

で設定できます。この場合、合計で3回アニメーション gif が再生されます。

日本企業と米国企業の文化的な違いと知っておくべきこと5つ

会社の同僚の Alex が Tech Talk Tokyo #4 というイベントで発表した資料がとてもよかったので、記事として残しておきます。

以下の5つのトピックについて「日本企業だと◯◯だけど、米国企業は☓☓だよね」という Alex の個人的な見解を聞いて、「良いと思ったポイントを自分のワークスタイルに取り込みたい」と思いました。

  1. Emails
  2. Working Time
  3. Giving Negative Feedback
  4. Making Decisions
  5. Performance and Appraisal

詳しい内容が知りたい方はスライド(英語)を読んでみてください。

Refused to display https://www.youtube.com/watch?v=xxx in a frame because it set X-Frame-Options to SAMEORIGIN. の解決方法

YouTube の動画ページの URL をそのまま iframe タグの src に指定すると、

Refused to display ‘https://www.youtube.com/watch?v=xxx’ in a frame because it set ‘X-Frame-Options’ to ‘SAMEORIGIN’.

というエラーが発生してしまいます。

Refused to display 'https://www.youtube.com/watch?v=xxx' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.

間違った iframe src

<iframe src="https://www.youtube.com/watch?v=xxx"></iframe>

YouTube の [共有] – [埋め込みコード] に記載されている https://www.youtube.com/embed/xxx という形式の埋め込み用 URL を使えばエラーが発生しなくなります。

YouTube 埋め込みコード

正しい iframe src

<iframe src="https://www.youtube.com/embed/xxx"></iframe>

以上です。

[MongoDB] データベース名の変更方法

MongoDB でデータベース名を変更する手順をメモ。

前提

まず、MongoDB には DB 名をアトミックにリネームする方法はないので、コピーして古い DB を削除するという手順になります。

DB名の変更手順

以下、MongoDB でデータベース名を変更するコマンドです。

// データベースを変更したい名前をつけてコピーする
db.copyDatabase('old_name', 'new_name');
// 古いデータベースに切り替える
use old_name
// 古いデータベースを削除する
db.dropDatabase();

データベースの容量が大きいと db.copyDatabase に時間が掛かってしまいますが、気長に待つしかなさそうです。