サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
装丁を味わう
bose999.hatenablog.com
RHEL7��/CentOS7では起動&サービス処理がsystemdに変更されてます。 設定ファイルがどのように記述されているのか? というのをhttpdとt��omcatの設定ファイルをもとに見てみます。 今までは/etc/init.dにある起動シェルを 一つずつ処理してましたがsystemdはUni����tという単位に 処理をまとめて可能な限り並列処理して起動を早くしています。 Unitのタイプは複数ありますがdaemonの起動に利用するのは serviceというタイプになります。 Unitの設定ファイルはシステムのデフォルトの設定が �/usr/lib/systemd/system に配置され /etc/systemd/system にユーザが追加・修正したものを配置するようになってます��。 両方に同じ名前のファイルがある場合は�/etc/systemd/systemに あるもの
man psすると下記のように定義されてpsコマンドでプロセスの状態を知る事が出来ます。 プロセスの状態コード s, stat, state 出力指定子 (ヘッダ "STAT" または "S") がプロセス状態の説明のために表示する値を以下に示す。 D 割り込み不可能なスリープ状態 (通常 IO 中) R 実行中または実行可能状態 (実行キューにある) S 割り込み可能なスリープ状態 (イベントの完了を待っている) T ジョブ制御シグナルまたはトレースされているために停止中の状態 W ページング状態 (2.6.xx カーネルからは無効) X 死んだ状態 (見えるべきではない) Z 終了したが、親プロセスによって回収されなかった、消滅した (ゾンビ) プロセス BSD 形式で stat キーワードが用いられたときは、以下の添付文字が表示されることがある。 < 優先度の高いプロセス (他のユー
まずgdbを入れます。 % brew install homebrew/dupes/gdb Cloning into '/usr/local/Library/Taps/homebrew/homebrew-dupes'... remote: Counting objects: 1498, done. remote: Compressing objects: 100% (3/3), done. remote: Total 1498 (delta 0), reused 0 (delta 0) Receiving objects: 100% (1498/1498), 299.62 KiB | 191.00 KiB/s, done. Resolving deltas: 100% (823/823), done. Checking connectivity... done. Tapped 36 for
ZeroMQ http://zguide.zeromq.org/page:all JeroMQ https://github.com/zeromq/jeromq ZeroMQはシンプルで高速なプロセス間通信を実現する C/C++のライブラリ。ライブラリのラッパーは対応言語が豊富。 キューは永続化はされない。メモリで処理されるので高速。 ライセンスはLGPL。 こちらのエントリが詳しい ØMQ(zeromq)について調査する。 JeroMQはZeroMQがC/C++で書かれてるのに対してJavaで書かれている。 libzmq 3.2.2に基づいた0.3.0-SNAPSHOTを今回は使用する。 ZeroMQと違いJava実装なのでJVMとjarがあれば動いてしまう手軽さが良い。 またパフォーマンスも頑張っている。ライセンスはLGPL。 では上記のような Client REQUEST <-> R
2012/08/02現在 以前に記述した Android開発環境をセットアップしてMavenでビルドできるようにする http://d.hatena.ne.jp/bose999/20120531/1338431783 の手順に変化がありますのでメモしておきます。 m2eの最新バージョンではmaven.runtime.3.0.3をインストールしなくても maven.runtime.3.0.4がインストールされるようになってました。 この手順はいらないので注意して下さい。 また、Android Configurator for M2E の リリースされているバージョンが古く正常に動作しません。 Android Configurator for M2E の開発ソースを入手して自分でコンパイルして インストールする手順に差し替える事によりAndroid SDK r20でも動かす事が 可能です。 私
すでにvimはMoutain Lionに入ってるのですが、 -clipboard なのでHomebrewでインストールして +clipboard にしてyankした文字列をクリップボードに入るvimを インストールします。 また、macvimをCUIから使うという方法もありますが、 私のvimrcだと画面表示が崩れたりしたのでCUIはあえて vimを入れて安定させました。 下記の手順で、vimのFormulaのRubyのパスを変更してますが、 コンパイルでエラーになったのでOSに入っているRubyから Homebrewで入れたRubyにパスを変更しました。 brew tap homebrew/dupes というコマンドを 実行しているのは既にOSにインストールされているものをあえて HomebrewからインストールするためのFormulaを追加する為です。 % brew tap homeb
homebrew で fontforge をインストールして もととなる Inconsolata.otf、migu-1m-regular.ttf、migu-1m-bold.ttf を 取得してGitHubから生成プログラムでRictyフォントを生成します。 参考URL: http://save.sys.t.u-tokyo.ac.jp/~yusa/fonts/ricty.html 作成手順 brew install fontforge mkdir $HOME/tmp cd $HOME/tmp curl -L -o $HOME/tmp/Inconsolata.otf http://levien.com/type/myfonts/Inconsolata.otf curl -L -o $HOME/tmp/3.2.0.zip https://github.com/yascentur/Ricty/zi
環境はLion上で構築します。OSが違う方は適時読み替えて下さい。 2012/05/31時点の情報なのでVerUP等により、今後は方法は変わるかもしれません。 この点はご注意下さい。 Javaを入れます。 Android SDKをダウンロードして任意の場所におきます。 Eclipseをセットアップします。 ADTをセットアップします。 ADTにAndroid SDKを結びつけます。 任意の場所に置いたパスを入れます。 必要なコンポーネントを選んでインストールします。 ダウンロードしながらインストールして時間がかかります。 必要なコンポーネントによっては端末の開発者登録ID等が 要求されますので入力して進めます。 Eclipse Marketplaceから m2eと Android Configurator for M2E をインストールします。 Eclipse -> 環境設定 -> Mav
サーバを2台用意します。 SV1:192.168.10.201 SV2:192.168.10.202 VIP:192.168.10.200 SV1 $ sudo vi /etc/keepalived/keepalived.conf $ sudo /etc/init.d/keepalived startSV1のkeepalived.conf ※メール通知を省略してます。 ! Configuration File for keepalived global_defs { notification_email { } } vrrp_instance VI_1 { state MASTER interface eth0 virtual_router_id 51 priority 100 advert_int 1 authentication { auth_type PASS auth_pass p
メモ require 'formula' class Rsync <Formula url 'http://rsync.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz' homepage 'http://rsync.samba.org/' md5 'b53525900817cf1ba7ad3a516ab5bfe9' def install system "./configure", "--prefix=#{prefix}", "--disable-debug", "--with-rsyncd-conf=#{prefix}/etc/rsyncd.conf", "--enable-ipv6" system "make install" end end
VIP:192.168.10.200 VIP (Client接続先) SV1:192.168.10.201 Pound Master SV2:192.168.10.202 Pound Backup HTTP1:192.168.10.211 Apache HTTP2:192.168.10.212 Apache 上記のようにVIPでClientからの接続を受けます。 MasterになっているPoundからHTTP1、HTTP2へロードバランスをします。 keepalivedが停止する。もしくはローカルのPound経由のHTTPチェックに失敗すると keepalivedがBackupに切り替わります。Masterが復旧すると処理がMasterに 切り替わります。 ※HTTP監視は5秒サイクルで設定例として記述してありますが、 サーバ負荷に気をつけながら運用上の最適化が必要です。 インターバルが長
https://wiki.ubuntulinux.jp/JapaneseLocalizedDerivative/LaTeXForJapanese 上記を参考に下記を実行し、表示できる事を確認。 % sudo apt-get install evince ghostscript cmap-adobe-japan1 xpdf-japanese % sudo mkdir -p /usr/share/poppler/cidToUnicode % sudo ln -s /usr/share/xpdf/japanese/Adobe-Japan1.cidToUnicode /usr/share/poppler/cidToUnicode/Adobe-Japan1 % sudo mkdir -p /usr/share/poppler/cMap % sudo ln -s /usr/share/fonts/cm
$ cd $HOME $ sudo yum -y install make kernel kernel-devel rpm-build openssl-devel →必要なパッケージのインストール $ wget http://www.keepalived.org/software/keepalived-1.1.20.tar.gz $ tar zxvf keepalived-1.1.20.tar.gz $ cd ./keepalived-1.1.20 $ sudo ./configure →ソースからkeepalived.specを生成 $ sudo cp $HOME/keepalived-1.1.20.tar.gz /usr/src/redhat/SOURCES/ $ sudo rpmbuild -ba ./keepalived.spec →RPMを作成 $ cd /usr/src/red
Cisco Catalyst3550のIOSのバックアップをMacに取ります。 下記でSnow Leopardに入っているtftpサーバを立ち上げます。 % sudo launchctl load -w /System/Library/LaunchDaemons/tftp.plist % sudo lsof -i:69 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME launchd 1 root 70u IPv6 0x08a0eb80 0t0 UDP *:tftp launchd 1 root 77u IPv4 0x08a0eaa4 0t0 UDP *:tftp次にtftpでファイルを受け取る準備をします。 すでにファイルがないとエラーになるのでファイルを用意します。 % cd /private/tftpboot % touch ./c
Python hack-a-thon 2010-11 Enjoy survival !View more presentations from bose999. 久々に人前で話をしてきました。Python関係ないっすwww id:Voluntas に you やっちゃいな 的にお願いされたので 参加者の人たちにフィットするネタかも分からないでやってみましたw 理想を貫いて生きていく何かのヒントになればと思います。 #あ、あとですね。どの会社に転職したかしれっと書いてます。 こういうの今後も聞きたいとかあったらスターとかブクマもらえると モチベーションあがりますw まえにやった自動販売機のやつはこのエントリの最後に貼っておきます。 こういうの聞きたい場合は声を掛けてもらえば><b 15時のプレゼンタイムから仕事の都合を乗り切って 参加しまして他の方の発表も楽しませて頂きました。 #でもあまり
10genのリポジトリを追加してyumでインストールしてみました。 /etc/init.d/mongodを見ると、起動ユーザ:mongod、 設定ファイル/etc/mongod.confになっています。 設定ファイルにログやDBのパスが記述されてます。 インストールログ # vi /etc/yum.repos.d/10gen.repo # yum update Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * addons: ftp.riken.jp * base: ftp.riken.jp * extras: ftp.riken.jp * updates: ftp.riken.jp 10gen | 951 B 00:00 10gen/primary | 2.2 kB 00:00 10gen
今月末で退職する事としました。 (現在、月末まで有給休暇を消化させて頂いています。) チャレンジしたい事が出来たので思い切って辞めさせて頂きました。 いままで働かせて頂いた会社はとてもいい会社でした。 日々の安定した生活は保証して頂けますし、不安な日々を送らないで 上場会社にいる安心感を提供してもらいました。 オープンソースに関わって仕事がしたいそんな気持ちで入社させて頂き、 Tomcat、JBoss、GeronimoといったAPサーバ、Seasarに関しては コミッタの末席に加えて頂いてJBoss5対応に関与させて頂いたり、 イベントのお手伝いをさせて頂くような貴重な経験をさせて頂きました。 またMySQL、PostgreSQLといったRDBMSも色々とやらせて頂き、 PostgreSQLに関してはEnterpriseDBという商用サポート製品と JBossによる某フードチェーン様の基幹
$ sudo apt-get install flashplugin-nonfree $ sudo apt-get install openjdk-6-jdk $ sudo apt-get install icedtea6-plugin $ cd /opt/google/chrome $ sudo mkdir ./plugins $ cd ./plugins $ sudo ln -s /etc/alternatives/mozilla-javaplugin.so .これでFlashとOpenJDKのプラグインが有効になった。
今回構築する環境は正常時は下記のようにプライマリーでサービスを 提供してホットスタンバイには接続をしないようにします。 障害時にVIPを自動で切り替え、ホットスタンバイをプライマリーに 昇格させてサービスを自動継続させます。 【環境】 プライマリー CentOS5.5 PostgreSQL9.0 IP:192.168.14.101/24 ホットスタンバイ CentOS5.5 PostgreSQL9.0 IP:192.168.14.102/24 【構築手順】 1.互いのサーバにpostgresユーザは鍵ファイルでSSHできるようにします。 下記URLの参考情報を参照 http://d.hatena.ne.jp/bose999/20100924/1285287421 2.PostgreSQLをホットスタンバイ状態で構築し、2台ともPostgreSQLを停止します。 下記URLの参考情報を参照
特にチューニングとかはせずにUTF-8で起動するようにします。 # vi /etc/yum.repos.d/CentOS-Base.repo # wget http://yum.pgsqlrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm --2010-09-22 00:37:49-- http://yum.pgsqlrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm yum.pgsqlrpms.org をDNSに問いあわせています... 69.55.231.170 yum.pgsqlrpms.org|69.55.231.170|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 4325 (4.2K) [a
・プライマリサーバ 192.168.14.101/24 ・ホットスタンバイサーバ 192.168.14.102/24 まず、プライマリーサーバで作業を行ないます。 # su - postgres $ createdb -E UTF8 -O 'postgres' sample $ exit →テスト用のsampleデータベースをpostgresのものとして作成 # mkdir /var/lib/pgsql/9.0/archive # chown -R postgres:postgres /var/lib/pgsql/9.0/archive →アーカイブログの置き場所の作成 # vi /var/lib/pgsql/9.0/data/pg_hba.conf # vi /var/lib/pgsql/9.0/data/postgres.conf →内容については下記に記載したものを参照 # /etc
ホストマシン(CentOS5.5)のネットワークを冗長化させて、 かつ負荷分散も可能にしたmode blance-albを利用してbondingで NIC2枚を束ねます。 次にbondingされたNICにBridgeを設定してKVMとホストのNICを Bridge経由でネットワークに接続出来るようにします。 ネットワークの設定後にssh経由でMacからvirt-managerで 遠隔からGUIでゲストOSをセットアプします。 まずホストのネットワークを下記の設定ファイルのように設定します。 ※192.168.12.0/24のネットワーク上で設定を行ないます。 /etc/modprobe.conf alias eth0 e1000e alias eth1 e1000e alias scsi_hostadapter ata_piix # add bonding alias bond0 bond
import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import javax.crypto.spec.SecretKeySpec; import org.apache.commons.codec.binary.Base64; /** * 文字列のAES暗号化/復号化ユーティリティ * * @author bose999 * */ public clas
% sar -f /var/log/sysstat/sa07 -r Linux 2.6.32-24-generic (bluesky) 2010年09月07日 _x86_64_ (2 CPU) 10時43分23秒 LINUX RESTART 10時45分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 10時55分01秒 1023380 1033504 50.25 42388 416800 1541448 13.86 11時05分01秒 928564 1128320 54.86 44812 444232 1635300 14.70 平均値: 975972 1080912 52.55 43600 430516 1588374 14.28メモリ使用量はkbbuffersとkbcachedを足したものをkbm
【プロセス関連のkernelパラメータ】 ・kernel.threads-max システム全体のプロセス数上限。 ・fs.file-max システム全体のファイルディスクリプタ上限。ファイルディスクリプタとはプログラムが アクセスするファイルや標準入出力などをOSが判別して管理する総計値。 【セマフォ関連のkernelパラメータ】 プロセスやスレッドの同時実行を制御するためのもの。 ・kernel.sem = param1 param2 param3 param4 param1 セマフォ識別子当たりの最大セマフォ数 param2 システム全体のセマフォ数 param3 セマフォコールあたりの最大演算子数 param4 システム全体のセマフォ識別子数 【メモリのkernelパラメータ】 ダーティページをディスクに頻繁にpdflushで書き込ませてメモリの開放を 重視するのか、ダーティページを
Maven2で必要なlibを定義して取得します。 次にレスポンスでXMLを使用する場合はアノテーションでBeanに対して XMLの定義を行ないます。 GET、PUT、POST、DELETE等の処理に応じた実装を行ない Beanを生成、ステータスコードをセットしてあげるだけで あとはよしなにRestEasyがやってくれます。 下記のコードの場合、 http://localhost:8080/sample/sample/xx をGETすると下記のようなXMLが200で返ってくるサンプルになります。 #下記はブラウザで開いてます <response agent="Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.126 Safari/533.4"> <inp
ここの所触ってきたRestEasy2.0.1.GAのまとめのサンプルコードになります。 使用頻度の高そうなものをサンプルコードで触れるようにしました。 このコードで下記の実装方法がだいたいわかるかと思います。 ここに載せているのはRestEasyのクラスやメソッドの使い方なので、 あとは実際にRESTの仕様にのっとった自分が必要とするRESTサービスを 作ってみるといいかと思います。 ●クライアントからの各メソッドのRequestにおけるリクエストヘッダ、 Form値、QueryString値、URLパラメータの送信方法 ●サーバ側でのRequestからのレスポンスヘッダ、Form値、 QueryString値、URLパラメータの取得方法 ●サーバ側でのResponseで返すデータ部のxmlやjsonの元になる Beanの作成方法(簡単なものだけですが。。。) ●サーバ側でのRespons
typeでの一覧表示。下記はserviceでのコマンド例。 ACTIVE欄がfailedになっている場合は本来有効化される設定のUnitが動いてない場合。 [root@localhost ~]# systemctl --type=service UNIT LOAD ACTIVE SUB DESCRIPTION auditd.service loaded active running Security Auditing Service avahi-daemon.service loaded active running Avahi mDNS/DNS-SD Stack chronyd.service loaded active running NTP client/server crond.service loaded active running Command Scheduler (中略)
このページを最初にブックマークしてみませんか?
『bose999の試験管の中の話』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く