メソッド名を取得する [Java]
以前にも同じような記事を書いたが、絞り込んで再投稿。
ログ出力する際に行番号はlogbackなどの機能で取得できるが、メソッド名取得まではサポートされていない。
ソース上に情報取得処理を埋め込むことにする。
■クラス名取得
パッケージ名を含むクラス名
getClass().getName();
クラス名のみ
getClass().getSimpleName()
■スタックトレースから各種情報を取得
拡張子(.java)付きファイル名
Thread.currentThread().getStackTrace()[1].getFileName();
パッケージ名を含むクラス名
Thread.currentThread().getStackTrace()[1].getClassName();
メソッド名
Thread.currentThread().getStackTrace()[1].getMethodName();
行番号
Thread.currentThread().getStackTrace()[1].getLineNumber();
FileSystems.getDefault()で戻されるパス [Java]
nio2を利用するので、まずはパスの生成。
FileSystem fs = FileSystems.getDefault();
Path path = fs.getPath("sample.xml");
この時のデフォルトパスはどこかというと、glassfish対象ドメイン下のconfigになる。
こんな感じ。
c:\GlassFish_Server\glassfish\domains\domain1\config
これはこれでありだけど、configファイルじゃないので、ここにファイルを置くのは気持ち悪い。
パス変更についてはまたそのうちに。
As/Rいれてみた [Windows]
Windowsのエクスプローラって、コピペするとき同じファイル名があるといちいち上書きするか聞いてくる。FFFTPみたいに新しかったら上書き、ってしてほしい。
XPのときにはユーティリティアプリいれていたんだけど、そのアプリはWin7になって対応終了。そこで今回試しにAs/Rをいれてみた。期待通りに動いていてくれるかな。
公式サイトはこちら。
WindowsUpdate 更新プログラムをダウンロード [Windows]
そこでピンポイントで必要なKBファイルを持ってくる手順です。
【その1:Microsoft TechCenter セキュリティ情報からナビゲート】
https://technet.microsoft.com/ja-jp/library/security/dn631937.aspx
過去分も含めて一覧がでてきます。
ここから対象を選択、「影響を受けるソフトウェア」内のリンクを実行すればダウンロードサイトに移動します。
【その2:Microsoft Update カタログ】
https://catalog.update.microsoft.com/
その名の通り、キーワード検索により対象一覧を取得し、さまざまなものをダウンロードできます。
但し対象が多いため、本当にほしいものにたどり着くには時間がかかるかもしれません。
Windows7以降での手動によるプロキシ指定 [Windows]
Windows7以降の手順になります。
まずはコマンドプロンプトを「管理者として実行」します。
■設定の確認
netsh winhttp show proxy
■設定変更(システム・デフォルトに変更)
netsh winhttp import proxy source=ie
■設定変更(手動)
netsh winhttp set proxy proxy-server="myproxy.xxx.co.jp:8080" bypass-list="*.xxx.co.jp.jp;192.168.1.*"
proxy-serverには、プロキシサーバ及びポート番号を指定します。
bypass-listには、プロキシサーバを利用したくないサーバ、ドメインやIPアドレスを指定します。
■設計クリア
netsh winhttp reset proxy
Oracleテーブルでclob、blobを使った際、格納データサイズを調べる方法 [Oracle]
create table lob_table(
id number,
lob_data clob
);
clobで定義したlob_dataの格納データサイズを取得するには、DBMS_LOB.GETLENGTHを使用する。
こんな感じ。
select id, DBMS_LOB.GETLENGTH(lob_data) from lob_table;
blobで同じように使えます。
Oracle timestamp型項目をシステム時刻で更新 [Oracle]
Oracleでシステム時刻を扱うにはsystimestampを使う。
update x_table
set access_time = systimestamp
where id=1;
これだけ。実に簡単。
CentOS6.7にredmine2.5をインストール [redmine]
何度やっても覚えられないので手順を整理。
サーバ redmine.hoge.co.jpにredmineをセットアップする
サーバ情報
[root@hogehoge work]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@hogehoge work]# uname -a
Linux redmine 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
1.事前作業
1.1 プロキシ対応(ユーザ、パスワードなし)
プロキシサーバがproxy.hoge.co.jpだった場合
/etc/profile.d/proxy.sh作成
export http_proxy=proxy.hoge.co.jp:10080
export ftp_proxy=proxy.hoge.co.jp:10080
export HTTP_PROXY=proxy.hoge.co.jp:10080
export FTP_PROXY=proxy.hoge.co.jp:10080
[root@hogehoge work]# source /etc/profile.d/proxy.sh
1.2yumプロキシサーバ対応
/etc/yum.conf編集
proxy=http://proxy.hoge.co.jp:10080
1.3 yumによるシステム・アップデート
[root@hogehoge ~]# yum -y update
2.redmine導入
2.1 EPELリポジトリの登録
[root@hogehoge work]# rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
2.2 開発ツール・インストール
[root@hogehoge ~]# yum -y groupinstall "Development Tools"
2.3 RubyとPassengerのビルド準備
[root@hogehoge work]# yum -y install openssl-devel readline-devel zlib-devel curl-devel libyaml-devel
2.4 MySQLインストール
[root@hogehoge work]# yum -y install mysql-server mysql-devel
2.5 httpdインストール
[root@hogehoge work]# yum -y install httpd httpd-devel
2.6 ImageMagickインストール
[root@hogehoge work]# yum -y install ImageMagick ImageMagick-devel ipa-pgothic-fonts
2.7 Rubyインストール(今回は2.0系)
[root@hogehoge work]# curl -O http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz
[root@hogehoge work]# tar zxvf ruby-2.0.0-p648.tar.gz
[root@hogehoge work]# cd ruby-2.0.0-p648
[root@hogehoge ruby-2.0.0-p648]# ./configure --disable-install-doc
[root@hogehoge ruby-2.0.0-p648]# make
[root@hogehoge ruby-2.0.0-p648]# make install
[root@hogehoge ruby-2.0.0-p648]# ruby -v
ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-linux]
2.8 bundlerインストール
[root@hogehoge work]# gem install bundler --no-rdoc --no-ri
Fetching: bundler-1.11.2.gem (100%)
Successfully installed bundler-1.11.2
1 gem installed
2.9 MySQL redmine用の設定
[root@hogehoge work]# service mysqld start
[root@hogehoge work]# chkconfig mysqld on
[root@hogehoge work]# mysql -u root -p
Enter password: (パスワードなし)
mysql> create database db_redmine default character set utf8;
mysql> grant all on db_redmine.* to user_redmine@localhost identified by 'redmine';
mysql> flush privileges;
※MySQL rootアカウントのパスワード設定や一般的な文字コード設定(UTF-8)は割愛
2.10 redmineインストール(今回は2.5系)
[root@hogehoge work]# curl -O http://www.redmine.org/releases/redmine-2.5.0.tar.gz
[root@hogehoge work]# tar zxvf redmine-2.5.0.tar.gz
[root@hogehoge work]# mv redmine-2.5.0 /var/lib/redmine
2.10.1 DB情報設定
[root@hogehoge work]# cd /var/lib/redmine/config
[root@hogehoge config]# cat database.yml
production:
adapter: mysql2
database: db_redmine
host: localhost
username: user_redmine
password: (パスワード)
encoding: utf8
2.10.2 smtpsサーバ設定
送信メールサーバがmail.hoge.co.jpだった場合
[root@hogehoge config]# cat configuration.yml
production:
email_delivery:
delivery_method: :smtp
smtp_settings:
address: "mail.hoge.co.jp"
port: 25
domain: hoge.co.jp
authentication: :plain
user_name: redmine.admin@hoge.co.jp
password: (パスワード)
rmagick_font_path: /usr/share/fonts/ipa-pgothic/ipagp.ttf
2.11 Gemパッケージ・インストール
[root@hogehoge config]# cd ..
[root@hogehoge config]# bundle install --without development test
Depending on your version of ruby, you may need to install ruby rdoc/ri data:
:
<= 1.8.6 : unsupported
= 1.8.7 : gem install rdoc-data; rdoc-data --install
= 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
2.12 改竄防止用鍵の生成とテーブル作成
[root@hogehoge config]# bundle exec rake generate_secret_token
[root@hogehoge config]# RAILS_ENV=production bundle exec rake db:migrate
2.13 Passengerインストール
[root@hogehoge redmine]# gem install passenger --no-rdoc --no-ri
Fetching: passenger-5.0.26.gem (100%)
Building native extensions. This could take a while...
Successfully installed passenger-5.0.26
1 gem installed
※バージョン指定していなので最新版
2.14 Apache用Passengerモジュール・インストール
[root@hogehoge redmine]# passenger-install-apache2-module
Please edit your Apache configuration file, and add these lines:
LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-5.0.26/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-5.0.26
PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>
* Checking whether Apache is installed... ?
* Checking whether the Passenger module is correctly configured in Apache... (!)
You did not specify 'LoadModule passenger_module' in any of your Apache
configuration files. Please paste the configuration snippet that this
installer printed earlier, into one of your Apache configuration files, such
as /etc/httpd/conf/httpd.conf.
Detected 0 error(s), 1 warning(s).
★警告発生するも無視
2.15 httpd設定 ⇒ 先ほど表示された内容を貼り付け
[root@hogehoge redmine]# cat /etc/httpd/conf.d/passenger.conf
:
LoadModule passenger_module /usr/local/lib/ruby/gems/2.0.0/gems/passenger-5.0.26/buildout/apache2/mod_passenger.so
<IfModule mod_passenger.c>
PassengerRoot /usr/local/lib/ruby/gems/2.0.0/gems/passenger-5.0.26
PassengerDefaultRuby /usr/local/bin/ruby
</IfModule>
2.16 redmineオーナー変更
[root@hogehoge redmine]# chown -R apache:apache /var/lib/redmine
2.17 デフォルトURLをredmineに
/etc/httpd/conf/httpd.conf編集
:
#DocumentRoot "/var/www/html"
DocumentRoot "/var/lib/redmine/public"
:
2.18 httpd起動
[root@hogehoge redmine]# /etc/rc.d/init.d/httpd start
アクセスURL
http://redmine.hoge.co.jp
CentOSでvncサーバ [LINUX]
プロキシ管理下でのyum設定 [LINUX]
14: PYCURL ERROR 7 -
リポジトリ・サイトにアクセスできないというやつ。
環境変数に入れてるのに、認識されない???
調べてみると、yum.confにプロキシサーバ情報を記載すればいいらしい。
proxy=http://プロキシサーバのIPアドレス:ポート番号
proxy_username=ユーザ
proxy_password=パスワード
この設定を入れたら問題なく、yum updateできるようになった。
私の環境ではプロキシサーバ・アクセスに対してユーザ&パスワードを設定していないので、実際にはそれらは未記載。
備忘として、、、
環境変数にプロキシサーバ情報を反映させるには、以下のファイルを作成しておく。
/ect/profile.d/proxy.sh
export http_proxy=プロキシサーバのIPアドレス:ポート番号
export ftp_proxy=プロキシサーバのIPアドレス:ポート番号
export HTTP_PROXY=プロキシサーバのIPアドレス:ポート番号
export FTP_PROXY=プロキシサーバのIPアドレス:ポート番号
ファイル名は任意で、このディレクトリに配備しておくことが重要。
ファイルには実行権限不要。
大文字、小文字については精査していないので、どちらか一方でもいいかも。