2013-01-01から1年間の記事一覧

Android SDK のコマンドを実行しようとしたら No such file or directory と言われて焦った件

dexdump を使おうとして、2 回もハマったので、自分用メモ。結論から言うと、 $ sudo apt-get install ia32-libsで解決。私は Ubuntu 12.04 の x86_64 バージョンを使っているので Android SDK も 64bit 版のものをダウンロードして使っていますが、Android …

Tizen Native API のメソッド名末尾についてる N の意味

この記事は Tizen Advent Calendar 2013 に参加予定の記事です。 Tizen で Native アプリを開発していると、ときどき API の関数名の末尾に N が付いているのを見かけます。たとえば身近なところでいうと Tizen::Base::Collection::ArrayList::GetEnumerator…

Tizen の sdb コマンド向け bash completion のご紹介

この記事は Tizen Advent Calendar 2013 に参加予定の記事です。 Tizen でアプリを開発していると、コマンドラインからアプリのインストールやアンインストール、ファイルのコピー、デバイスのシェルへのアクセスなど、いろいろと便利な sdb コマンドを使い…

Linux (Ubuntu) から NTFS でフォーマットされた外付け USB HDD へファイルをコピーしたらシンボリックリンクがシンボリックリンクのままだったでござるの巻

表題の通りなんですが、シンボリックリンク先の実体は外付け HDD にはコピーされていなかったので意味のない状態になってしまい、困りました。ちなみにコピー先が NTFS ではなく FAT32 でフォーマットされた外付け HDD だと「シンボリックリンクを作れない」…

btrfs で複数のデバイスを使うときにやったことメモ

1TB の HDD のおさがりをもらったのでさっそく Linux PC に搭載して、前から気になっていた btrfs でフォーマットして使ってみました。この記事に書く予定のシナリオとしては、1. ディスク単体で btrfs フォーマットしてマウントして使用開始 2. ディスクを…

Ruby で特定のパターンが出現するまで簡単にファイルを読み飛ばす方法

テキストファイルの処理をしてると、たまに表題のようなことをやりたくなりますね。ヘッダーの1行だけ読み飛ばすとか固定行数読み飛ばすだけならその行数の分だけ gets() を呼べばいいのですが、何行目に現れるかわからない特定のパターンまで読み飛ばすとい…

ssh サーバに公開鍵をワンライナーで登録する方法

2014.05.09 追記 $ ssh-copy-id user@hostname でいいかも。 (公開鍵ファイルを指定したい場合は -i オプションを使用する) $ ssh user@hostname "echo `cat ~/.ssh/id_rsa.pub` >> ~/.ssh/authorized_keys" 以上。 たまにやりたくなるんだけどいつも忘れ…

Java とか Android (DEX) の MUTF-8 (Modified UTF-8) って何者よ?っていう話

Android の APK の DEX をゴニョゴニョしてたら、DEX の string 領域に格納されている文字列は実は UTF-8 じゃなくてちょっと modify された MUTF-8 (Modified UTF-8) だということが判明して軽くショックを受けています。Wikipedia の UTF-8 の項によります…

HTML5/JavaScript/CSS3 でクロスプラットフォームなデスクトップ GUI アプリを作れるフレームワークの決定版を見つけた(かもしれない)件

[追記 2015/05/19] 2015年時点では HTML5/JavaScript/CSS でデスクトップ GUI アプリを作るなら、Electron 一択でしょうね。Electronelectron.atom.io[追記ここまで]私はデスクトップアプリケーション開発歴はすでに20年近い老人ですが、数年前から「HTML5 …

chef で remote_directory リソースで一気にファイルをコピーしようとしたら空ディレクトリがコピーされなくて困った件(解決策もあるよ)

仕事では vagrant + chef を使って Hermetic なテスト環境を誰でも簡単に作れるようにしようという取り組みをしています。モバイルアプリからアクセスするバックエンドのサーバは、現時点では本番環境かテスト環境かというくらいしかないのですが、これを va…

シェルスクリプトの中でコマンドが存在するかどうかを確かめる方法

stackoverflow に答えとともに良い説明があった。 http://stackoverflow.com/a/677212/2122085#!/bin/sh なスクリプトの場合(bash ではなく sh を使っている場合)は \command -v foo >/dev/null 2>&1 || { echo >&2 "'foo' is required. Aborting."; exit …

bash スクリプトの中でそのスクリプト自身が置かれているディレクトリを絶対パスで取得する方法

[2017.04.04 update] shellcheck でエラーが出ないように修正 [/2017.04.04 update]イディオム的な。 BASE_DIR="$( cd "$( dirname "$0" )" || exit; pwd )" いつも忘れるのでメモ。

GotW #6a: 正しい const 第1部(勝手訳)

GotW #6a の翻訳です。例によって原文著者(Herb Sutter 氏)の許可は得ていませんし、私の英訳がヒドいクオリティである(用語の統一がとれていないとか、誤訳が含まれているとか)かもしれませんのでそこのところはご理解いただければと思います原文:http…

Vagrant で作成した仮想マシンを、ホスト起動時に一緒に自動的に起動する方法(Ubuntu 12.04)

Ubuntu 12.04 の場合、/etc/rc.local あたりに以下のように書いておきます。 (他のバージョンの Ubuntu や、他のディストリビューションでもコマンド自体は同じで大丈夫でしょう。このコマンドを書く場所がちょっと違うかもしれませんが、そのシステムごと…

GotW #5: 仮想関数のオーバーライド (勝手訳)

GotW #5 の翻訳です。例によって原文著者(Herb Sutter 氏)の許可は得ていませんし、私の英訳がヒドいクオリティである(用語の統一がとれていないとか、誤訳が含まれているとか)かもしれませんのでそこのところはご理解いただければと思います。原文:htt…

GotW #4: クラスのメカニクス(勝手訳)

第 4 回めの GotW の翻訳です。例によって原文著者(Herb Sutter 氏)の許可は得ていませんし、私の英訳がヒドいクオリティである(用語の統一がとれていないとか、誤訳が含まれているとか)かもしれませんのでそこのところはご理解いただければと思います。…

Xmodmap でお好みのキーバインド

前フリ プログラマのみなさんならキーボードにこだわりを持ってなおかつタイピング速度を0.01秒でも稼ぐために日夜キーバインドを研究されていることと思います。そんな私は Windows では AutoHotKey、Linux では Xmodmap、Mac では KeyRemap4Mac を愛用して…

GotW #3: 標準ライブラリを使う(もしくは一時オブジェクト再訪)(勝手訳)

第 3 回めの GotW の翻訳です。例によって原文著者(Herb Sutter 氏)の許可は得ていませんし、私の英訳がヒドいクオリティである(用語の統一がとれていないとか、誤訳が含まれているとか)かもしれませんのでそこのところはご理解いただければと思います。…

HHK / RealForce / Majestouch MINILA くらべ

私の職場では私は表題に掲げた3種のキーボードを使うことができるという幸運に恵まれています。いずれも英語(US)配列のキーボードです。せっかくなので、ここ数カ月間使ってみた感想等を書いてみます。 評価基準が偏ってるのであまり参考にならないかもし…

git svn でローカルでは commit したけどまだ dcommit してないコミットがあるかどうかをコマンドラインで調べる方法

git

人間が目で見て把握するには gitk などの GUI ツールでもあれば十分なのですが、機械にそれを調べさせるにはコマンドで実行したいところです。調べたところ、以下のワンライナーで十分なようです。 $ git log remotes/git-svn.. --oneline

GotW #2: Temporary Objects 一時オブジェクト(勝手訳)

第2回めの GotW の翻訳です。例によって原文著者(Herb Sutter 氏)の許可は得ていませんし、私の英訳がヒドいクオリティである(用語の統一がとれていないとか、誤訳が含まれているとか)かもしれませんのでそこのところはご理解いただければと思います。原…

mruby on Tizen 2.2 beta

Tizen プロジェクトがキャンセルされたとか何とかいう噂がまことしやかに囁かれているようですが、Tizen は今のところ元気です。何事もなかったかのように淡々とプロジェクトは進行しています。さて、Tizen SDK 2.2 beta もリリースされたことですので、さっ…

Ubuntu 12.04 で特定のポインティングデバイスからの入力だけマッピングを変更する方法

.Xmodmap を使ってマウスのボタンのマッピングを変更すると、すべてのポインティングデバイスからの入力を一律で変更してしまいます。たとえば、トラックパッドが付いているノートパソコンに USB マウスもつないでいる状態だと、ポインティングデバイスが 2 …

GotW #1 Solution: Variable Initialization – or Is It?(勝手訳:変数の初期化-もしくは?)

前回の投稿から少し間が開いてしまいましたが、第1回めの GotW の翻訳です。例によって原文著者(Herb Sutter 氏)の許可は得ていませんし、私の英訳がヒドいクオリティである(用語の統一がとれていないとか、誤訳が含まれているとか)かもしれませんのでそ…

複数のターミナル間で bash のヒストリを共有する方法

Guake とか Terminator とか iTerm とか Console2 とかでタブを開きまくっていると、あっちのタブで入力したコマンドがこっちのタブにはヒストリとして出てこない!ムキーっってなりますね。特に超絶かっこいいワンライナーを書いた時にそれを再利用するため…

Herb Sutter さんによる GotW C++14 版 勝手訳

Herb Sutter さんがブログ Sutter's Mill で GotW (Guru of the Week) の更新を始められましたね。 とても面白い連載なので、一気読みしてしまった挙句、ついカッとなって勢い余って日本語に訳してみました。まずは「これから更新始めるよ~」という感じの前…

2つの Zip ファイルの中に含まれるファイルの差分(diff)を直接調べる方法

自分用メモ。a.zip と b.zip があって、それぞれ x というファイルが含まれているとします。 a.zip の中の x と b.zip の中の x を比較したい場合、以下のようなワンライナーで比較することができます。 $ diff <(unzip -p a.zip x) <(unzip -p b.zip x) も…

echo コマンドで -e って表示させようとしてハマった話(と解決策)

最近 bash の complete コマンド(自動補完)がプチマイブームなので、自作のスクリプトのための補完とかをシコシコ作成しています。 そのうち、覚えたこととかをまとめてブログに書こうと目論んでいるところです。で、例によって complete 用の関数とかを作…

Ubuntu 12.04 (amd64) で IDA Pro を実行する方法

IDA Pro というリバースエンジニアリング用のツールがありますが、Windows 版、Linux 版、Mac 版が用意されています。現在の仕事の開発環境は Linux なので Linux 版をダウンロードします。特にインストールとかはしなくてもパッケージを展開したらすぐに実…

mruby on Tizen 2.1 beta

ゴールデンウイーク中に Tizen SDK 2.1 beta がリリースされたとのことでさっそく入手して mruby をビルドして動かしてみました。build_config.rb に以下の内容を追加します。といっても、前回の2.0の時からの変更点は rootstrap のディレクトリ名がちょっと…