一括置換

なにかと知ってるととくするコマンド

find . -name '*.pm' | xargs perl -i.bak -pe 's/InputCheck/Util::InputCheck/g'

バックアップいらないとは
find . -name '*.pm' | xargs perl -i -pe 's/InputCheck/Util::InputCheck/g'
でいいのか?

ちなみに
find pm/ -type f -name *.bak -exec rm {} \;
で該当バックアップファイルをけせる

git コマンド一覧

pull
git pull [送信先] [送信元ブランチ]
デフォルトでgit pull origin masterとなる

log
git log --stat
変更されたファイルの一覧と変更されたファイルの数、追加・削除された行数が表示


設定関連
git config --global core.pager "lv -c"
(utf8 の場合lv -cOu8)

perl utf8メモ

UTF8フラッグの場合

utf8::is_utf8($text); # 1となる

ファイルから読み込むと、utf8フラッグのやつが取得できる
open IN, "<:encoding(euc-jp)", "hoge.txt";
open IN, "<:utf8", "hoge.txt";

フラグを落とす
$text = Encode::encode("utf8", $text);
utf8::encode($text);

utf8フラグの文字列を指定した文字コードに変換する
my $new_text = Encode::encode($charset, $wide_char);

utf8フラグなしの文字を その文字の文字コードを指定して、 utf88フラグを付ける
my $wide_char = Encode::decode($non_wide_char_charset, $non_wide_char);
例:my $text = Encode::decode('sjis', $subject);


utf8フラグのない文字列($string)の文字コードの変換
Encode::from_to($string, 'sjis', 'euc-jp');

perl DBIほにゃららら

最近SQL::Abstractがはやっていて、いろいろ調べてみた

user_id in (1, 2, 3)
もとsrc

my @ids = qw/111 222 333/;
my $ids = join(q{,}, @ids);
my $data = $dbh->selectall_hashref(<<"SQL", id);
select id, column1, column2 from table1 where id in ($ids)
SQL


それをいい感じに
my @ids = qw/111 222 333/;
my $sql = SQL::Abstract->new();
my ($stmt, @bind) = $sql->select(
'table1',
[qw/ id column1 column2 /],
+{ id => +{ 'in' => \@ids } },
);
my $data = $dbh->selectall_hashref($stmt, 'id', +{}, @bind);





大なり、小なりとかとか
my $sql = SQL::Abstract->new;
my ($stmt, @bind) = $sql->insert(
'user_data',
'*',
+{ user_id => +{ '>=', 100000} }
);




同じカラムに対するandとか
    ( $stmt, @bind ) = $sql->select(
'table',
[qw/field1 field2/],
+{
reg_date => +{ '<=' => 12345, '>' => 54321 },
}
);

is $stmt, q{SELECT field1, field2 FROM table WHERE ( ( reg_date <= ? AND reg_date > ? ) )},
"stmt";
is_deeply \@bind, [qw/12345 54321/], "bind";




Limitとか



use SQL::Abstract::Limit;
my $sql = SQL::Abstract::Limit->new( limit_dialect => 'LimitOffset' );
( $stmt, @bind ) = $sql->select(
'table', [qw/field1 field2/],
+{ id => '1' },
+{ -desc => 'field3' },
10, 2
);
is $stmt =>
'SELECT field1, field2 FROM table WHERE ( id = ? ) ORDER BY field3 DESC LIMIT 10 OFFSET 2',
'stmt';
is_deeply \@bind, [qw/1/], 'bind';

jQueryメモ

特定のタグへのアクセス

$("#hoge"); // idで指定
$(".hoge"); // classで指定
$("div"); // tagで指定 ページ内のdivタグすべて!!
$("div, p"); // 複数指定
$("div p"); // divタグ内のpタグ(孫まですべて)
$("div>p"); // divタグ内のpタグ(子まで)
$("div+p"); // divタグの後にあるpタグ
$("#mygame-conf input[type=radio]"); // id="mygame-conf"ないのinput type=radio
スタイルシートを指定する

$("p").css({ "color" : "#ff0000", "background-color" : "#000080"});

$("p").toggleClass("highlight"); // スタイルシート切り替え

セレクタ

http://semooh.jp/jquery/api/selectors/

jQueryメモ

特定のタグへのアクセス

複数のタグへアクセス
カンマで複数指定することが可能
$("div, p").text("ほげほげ");

Mac パッケージ管理コマンド

Macでのパッケージ管理システム「MacPorts」について

sudo port selfupdate <= MacPorts自身とそのリストを最新の状態に更新する

sudo port search [コマンド] <= インストールしたいパッケージを探す

sudo port install [コマンド] <= インストール

以上

ReactNativeでAndroid対応する話

前提 ReactNativeでiOS版のアプリをリリースしていて、Android版をリリースする話 トラブルシューティング Build.VERSION_CODES.Q が存在しないエラー compileSdkVersionを29以上にすると解決 メモリー足りないエラー Execu...