サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Pixel 9
www.pistolfly.com
$ adb shell input text 'ペーストしたい文字列' adbのパスは、Android StudioのProject SturctureのSDK Locationで確認して、環境変数PATHに加えておく。 複数のデバイスが接続されている場合は、-s オプションでデバイスのシリアル番号を指定する。 デバイスのシリアル番号は、 $ adb devices で確認できる。 ペーストしたい文字列をシングルクォート(')で囲っていても、シェルのメタ文字や$0、$1...等が展開されてしまうようだ。 メタ文字や$はバックスラッシュ(\)でエスケープすること。 例: $ adb -s emulator-5554 shell input text 'ペーストしたい文字列'
subjectAltNameが設定されていない証明書はChromeで NET::ERR_CERT_COMMON_NAME_INVALID エラー 開発環境用に自己署名のSSL証明書を使っているサイトにChromeでアクセスしたら、 「この接続ではプライバシーが保護されません NET::ERR_CERT_COMMON_NAME_INVALID」というエラーになった。 自己署名証明書(Self-signed certificate)だが、クライアント側はMacではキーチェーンアクセスに登録してx.509基本ポリシーを「常に信頼」にしているし、Windowsでは「コンピューター証明書の管理」で「信頼されたルート証明機関」に登録してある。 CN(Common Name)とアクセスしているホスト名も一致している。 Chrome以外のブラウザでは問題ない。 Chromeでも問題なくアクセスできていたが
CentOS release 6.7 (Final) yum updateで以下のエラー http://mirror.centos.org/centos/6/SCL/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" 他のミラーを試します。 エラー: Cannot retrieve repository metadata (repomd.xml) for repository: scl. Please verify its path and try again 解決方法 $ sudo yum remove centos-release-SCL $ sudo yum update # CentOS-6.8にアップデート $ sudo
CentOS7でpassenger-configやpassenger-statusがエラーになる。 CentOS Linux release 7.2.1511 (Core) Apache/2.4.6 (CentOS) Phusion Passenger 5.0.23 (passenger-install-apache2-moduleでインストール) $ passenger-config restart-app *** ERROR: Phusion Passenger doesn't seem to be running. If you are sure that it is running, then the causes of this problem could be one of: 1. You customized the instance registry directory u
Ubuntu(14.04 LTS)で、コアダンプが出力できない場合があるという現象が発生した。 できる場合もある。プログラムによる。 以下のように、ulimitは問題ない。 $ ulimit -c unlimited $ ulimit -a core file size (blocks, -c) unlimited data seg size (kbytes, -d) unlimited scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 15739 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -
Mac OS X (Yosemite) で最近ディスクの空き容量がやたら少なくなっているので、調べてみた。 $ sudo du -sh /* ↓ $ sudo du -sh /private/* ↓ $ sudo du -sh /private/var/* と調べて行くと、/private/var/tmp が200GBくらいある。 /private/var/tmp を見てみると、cachegrind.out.50526 のようなファイルが大量にあった。 これはXdebugのプロファイラーが出力するファイルらしい。(MacPortsのxdebugを使用している。) Xdebugはエラー時にスタックトレースを表示したり、(Eclipseが必要だが)ステップ実行でデバッグできたりと便利なのだ。 で、この cachegrind.out.xxxxxx を rm で削除しようとしたら、 $ sudo
コマンドの終了コードが128を超える場合はシグナルで終了した場合。 $ man bash The return value of a simple command is its exit status, or 128+n if the command is terminated by signal n. $ some_command $ echo $? 139 例えば上記のように終了コードが139なら、139=128+11なので、シグナル11で終了したということになる。 man signalとかで見ると、シグナル11はSIGSEGVで、セグメンテーション違反だということが分かる。 投稿 コマンドの終了コードが128を超える場合はシグナルで終了した場合 は Pistolfly に最初に表示されました。
gdbのptypeを使うのが簡単。 例えば、以下のfoo.c。 #include <sys/types.h> struct st { int i; char c; }; typedef int Array[10]; typedef struct st St; int main(void) { size_t s1; ssize_t s2; pid_t pid; Array arr; St st1; return 0; } $ gcc -Wall -g -o foo foo.c $ gdb foo (gdb) b main (gdb) run (gdb) ptype s1 type = long unsigned int (gdb) ptype size_t type = long unsigned int (gdb) ptype s2 type = long int (gdb) ptype
RVMで複数のRuby環境がある場合に、Railsアプリケーションのためのcronをどうするか? Rubyのパスはフルパス指定すればいいが、gemがRVMのgemを見に行かないのが問題。RVM環境でcronを実行する必要がある。 RVM: Ruby Version Manager - Using Cron with RVM cron用のシェルスクリプト内で使用するRVM環境をロードするには以下のようにする。 まず、環境ファイルのパスを確認 $ rvm env --path -- ruby-version[@gemset-name] 実行例 $ rvm env --path -- 1.8.7-p371 /Users/pistolfly/.rvm/environments/ruby-1.8.7-p371 cron用のシェルスクリプトで環境ファイルを読み込む 例 source /Users/pi
マルチユーザ用にRVMをインストール マルチユーザ用にRVMをインストールするには、sudo でインストールする。 RVM: Ruby Version Manager - Installing RVM $ sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer ) Downloading RVM from wayneeseguin branch stable curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate
Subversion 1.5 以降では、Merge Tracking 機能により、マージが楽になった。 フィーチャーブランチの典型的なマージ手順をメモしておく。 ※以下の例で使用している、作業コピーのリポジトリーのルートディレクトリーのURLを表すキャレット (^) 記法は、Subversion 1.6 以降で可能です。 ブランチ作成 $ cd <いずれかの作業コピーのパス> # キャレット記法を使うために作業コピーに移動。フルでURL指定するなら不要。 $ svn cp ^/trunk ^/branches/br1 ブランチとtrunkの差分表示 $ cd <いずれかの作業コピーのパス> # キャレット記法を使うために作業コピーに移動。フルでURL指定するなら不要。 $ svn diff ^/trunk ^/branches/br1 trunkの最新をブランチにマージ branchでの作
作業コピーにあるすべてのバージョン化されていないオブジェクトを再帰的に追加するには、 $ svn add * --force とやる。 svn add * だと、既にバージョン管理下にあるディレクトリのまだバージョン管理下にないファイルが追加されないから、--force を付けているのだが、この場合、実行したディレクトリ直下のsvn:ignore属性に設定した無視ファイルや無視ディレクトリも追加されてしまう。 また、既にバージョン管理下にあるファイルも追加しようとするので、警告が出て汚い。 結局、svnだけではいい方法はない。 無視ファイルや無視ディレクトリを除いて、Subversionのバージョン管理下にないファイルをまとめてaddしたり、バージョン管理下にあるのになくなった(物理的に削除された)ファイルをまとめてdelするには、svn status の出力をgrepでフィルタしてsed
Can't install RMagick 2.13.1. Can't find MagickWand.h. ImageMagick 6.7.3-7をソースからインストールした環境に、gemでRMagickをインストールしようとしたら、以下のエラーが発生した。 $ sudo gem install rmagick Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /opt/ruby-enterprise-1.8.7-2011.03/bin/ruby extconf.rb checking for Ruby version >= 1.8.5... yes checking for
RewriteRuleのenvフラグで環境変数をセットしておき、RequestHeader append で使う。 RewriteEngine on RewriteRule ^/(.*)$ http://appserver/$1 [P,L,QSA,env=ORG_REMOTE_ADDR:%{REMOTE_ADDR}] ProxyPassReverse / http://appserver/ RequestHeader append X_ORG_REMOTE_ADDR %{ORG_REMOTE_ADDR}e env=ORG_REMOTE_ADDR RequestHeader append X-Forwarded-Proto https mod_rewrite - Apache HTTP Server たまねぎプログラマハマリ日記:Apache内のCGI環境変数をTomcatに渡す。 - li
yumのphp53でPHP5.3がインストールできる。拡張もyumにphp53-XXXXがあるが、php53-pearとphp53-mcryptはない。 mcryptのインストール CentOS5.7のyumでphp53がインストールされた環境に、PHPのソースからmcrypt拡張をインストールした。 まず必要なmcrypt拡張のビルドに必要なパッケージをインストールしておく。 $ sudo yum install php53-devel libmcrypt-devel yumでインストールしたphpと同じバージョンのソースを http://jp2.php.net/releases/ などPHPのダウンロードサイトからダウンロード、展開してmcrypt拡張をビルド、インストール。 $ wget http://museum.php.net/php5/php-5.3.3.tar.gz $ ta
Redmineでレポジトリをgitと同期するため、cronでRepository.fetch_changesetsをscript/runnerで実行したら、 git: not found となって同期できなかった。 redmine/lib/redmine/scm/adapters/git_adapter.rbを #GIT_BIN = "git" GIT_BIN = "/usr/local/bin/git" のようにgitへのパスを設定するようにしたら解決。(※) RedmineとGitの連携で「リポジトリに、エントリ/リビジョンが存在しません」と出た時の対処法 « Sinner The Sinner ※ r4795, r4797で、configuration.ymlにscm_git_commandを設定できるようになったので、上記修正は不要になった。 その他に、gitレポジトリのディレクト
objdumpは、MacPortsでbinutilsをインストールすると、gobjdumpという名前で同等のものが使用できる。(頭にgが付く。) $ sudo port install binutils インストールされたコマンドを確認。 $ port contents binutils Port binutils contains: /opt/local/bin/gaddr2line /opt/local/bin/gar /opt/local/bin/gc++filt /opt/local/bin/gelfedit /opt/local/bin/gnm /opt/local/bin/gobjcopy /opt/local/bin/gobjdump /opt/local/bin/granlib /opt/local/bin/greadelf /opt/local/bin/gsize /op
$ sudo visudo #Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin Defaults:admin !env_reset Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin をコメントアウトして、 Defaults:admin !env_reset を追加する。(adminは、使用するユーザ名とする) CentOS5では、上記ではうまくいかなかった。 その場合は、ユーザの ~/.bashrc に alias sudo='sudo env PATH=$PATH' を追加する。 ただし、その場合、sudo -i とかできなくなる。 rubyインストールしてあるのにsudoすると「/usr/bin/env: ruby: そのようなファイルやディレクトリはありません」と言われる
ImageMagickが依存しているライブラリをyumでインストール。 $ sudo yum install bzip2-devel lcms-devel libjpeg-devel libX11-devel libXt-devel libtiff-devel ghostscript-devel libXext-devel libpng-devel ImageMagickのダウンロードサイトからソースを取得して、ビルドとインストールを行う。 $ wget ftp://ftp.../ImageMagick.tar.gz $ tar xzvf ImageMagick.tar.gz $ cd ImageMagick-6.6.7-10/ $ ./configure && make $ sudo make install インストールを確認 $ which Magick-config /usr/lo
Mac OSX (Snow Leopard) で、MacPortsのRuby1.8.7を使っているが、1.9.2も使いたいので、RVMでRuby1.9.2をインストールしてみた。 RVMのインストール $ bash < <(curl -s https://rvm.beginrescueend.com/install/rvm) $ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile RVM: Ruby Version Manager - Installing RVM RVMのアップデート $ rvm get latest RVM: Ruby Version Manager - Upgrading RVM rvm get lat
RMagickのインストールは大変だけど、Ubuntuではパッケージで簡単にインストールできる。(Rubyもパッケージでインストールしている場合) $ sudo aptitude install imagemagick librmagick-ruby libfreetype6-dev xml-core $ convert --version Version: ImageMagick 6.3.7 02/18/08 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2008 ImageMagick Studio LLC $ irb irb(main):001:0> require 'RMagick' => true irb(main):002:0> exit
※ Rails 2.3.10 で修正された。 Rails2.3.9でセッションをActiveRecordにすると、auでのログイン時にActionController::InvalidAuthenticityToken エラーが発生する。 Rails 2.3.9のバグで、セッションにactiverecord または memcache storeを使用している場合に、'HTTP_COOKIE' headerのないリクエストのセッションクッキーがセットされないためにこのエラーが発生するらしい。 ActionController::InvalidAuthenticityToken in SessionsController#create error - Stack Overflow #5581 Session cookie not sent with activerecord or memcac
まず、リモートブランチを最新に更新しておく。 $ git fetch $ git svn fetch # git-svnでSubversionレポジトリをリモートリポジトリに持つ場合 リモートブランチを確認。 $ git branch -a * master remotes/origin/master remotes/svn/tags/RELEASE_20101022 remotes/svn/tags/RELEASE_20101025 remotes/svn/trunk 現在のローカルブランチとリモートブランチの差分を表示。 $ git diff remotes/origin/master 現在のローカルブランチとリモートブランチの差分を表示(簡易表示) $ git diff --name-status remotes/origin/master 現在のローカルブランチとリモートブランチの
cygwinのgitでは、以下を設定すれば、vimでのコミットメッセージに日本語が使用でき、コミットログもUTF-8に統一された。 (cygwinのターミナルはPoderosaを使用して、エンコーディングをUTF-8にしておく。) .vimrcに以下を設定する。 set termencoding=utf-8 set encoding=utf-8 set fileencodings=utf-8,iso-2022-jp,shift-jis,euc-jp ・git configで以下を設定する。 $ git config --global i18n.commitencoding UTF-8 参考: cygwinのgitで日本語を文字化けさせない - もうカツ丼でいいよな ・git logがpager(lessとか)で表示されると、UTF-8のログメッセージがエスケープされて表示されるので、pag
Developer Blog
次のページ
このページを最初にブックマークしてみませんか?
『www.pistolfly.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く