ぺーぺーSEのブログ

備忘録・メモ用サイト。

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

Zabbix入門

Zabbix2.4いじってみたのでメモ。はじめに基本知識。 ■できること HW監視 死活監視 リソース監視 グラフ表示 ■用語 ホスト 監視対象デバイスのこと IP/DNSをもつ ホストグループ 論理的なホストのまとまり ホストとテンプレートから構成される アイテム ホス…

Apacheの多重度

共通 MPM Apache 2.xはMPM(Multi-Processing Modules)をサポートしている。 MPMにはworkerとpreforkがある。 Apache MPM worker workerは複数の子プロセスを起動し、さらにその子プロセスは複数のスレッドを持つ。 1つのスレッドが1つのコネクションを扱…

Apacheのタイムアウト

いわゆる 「Apache - mod_proxy - Tomcat - JDBC Pool - RDB」 みたいな構成の想定で、Apache、mod_proxy部分を書く。 Apacheのバージョンは2.4。 リクエスト、レスポンスに関するタイムアウトの設定で、KeepAliveとかコネクションプールとかのタイムアウト…

MySQL5.6の設定の参照およびチューニング

インストールについては下記を参照。blog.pepese.comMySQLの設定や状態に関するパラメータはshowコマンドで見ることができる。 showコマンド以外にinformation_schemaやperformance_schemaで見ることもできる。 MySQLの今後の動向としてはshowコマンドを無く…

MySQL5.6のインストール

CentOSにrpmでインストールした。 基本的にroot作業。 事前準備 MariaDBがインストールされていないか確認 CentOS7やRHEL7にはデフォルトでMariaDBがインストールされているためアンインストールする。 # MariaDBがインストールされていないか確認 > yum lis…

Metaspace

■Metaspace 格納する情報 クラスやメソッドのメタ情報 ネイティブメモリ クラスローダー毎にもつ なので基本バラバラの非連続領域 ■Compressed Class Space 格納する情報 クラス情報に特化 Compressed Oops(圧縮OOP:Ordinary Object Pointer)を利用 64bit …

Oracle Database入門

アンチOracle RDB派だけど、仕事なので仕方ない。。。用語および基本事項 Oracleソフトウェアのインストール前提条件 ハードウェア要件 Oracle Database用ディレクトリ:6.4GB /tmp:1GB メモリ要件 最小1GB、推奨2GB以上 スワップ領域 使用可能な物理メモリ…

Spring Data JPA入門

下記記事の延長。blog.pepese.comPersonリソースをCRUDできるRestサービスを構築する。 ■build.gradle apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'tomcat' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8' buildscript { r…

JPA2.1入門

JavaEE 7のJPA2.1をさわってみる。 事始めなので2.1新機能とかには全然ふれない。 用語とか Persistence Unit EntityManagerのインスタンスを生成するファクトリクラスを定義 EntityクラスのRDBにマッピングを設定する データベースへの接続用データソース設…

SQLとJavaのデータ型について

対応についてまとめとく。 O/Rマッパーを使用する際は、そちらの推奨型を優先で。 SQL型 Javaの型 備考 CHAR java.lang.String - VARCHAR2 java.lang.String - LONG java.lang.String データが大容量の場合にはCLOBに挿入すること。 NUMBER long 整数を格納…

Javaで簡易DBのDerbyを使う

RailsでSQLiteが勝手に出来てて動くのが羨ましくてJavaでも探してみた。 RDBMSインストールすんのめんどいし。結論としてDerbyとFlywayというのを使うことにした。 DerbyはRDBMSのインストール無しでJDBCドライバさえあればさくっと使えるRDB。 FlywayはJDBC…

Restful設計まとめ

Restfulな設計を個人的にまとめる。 あくまで個人的なまとめで個人的にどこからでも参照できるようにここに張る。 正しいとか間違ってるとかどうでもいいし、参考にするしないは個人で判断して。 基本方針 Restful APIの設計は基本的に以下。 処理の内容 HTT…

JAX-RS RESTで使用するアノテーション

※間違って消しちゃったので日付が変わって復旧クラスに付与するアノテーション @Path リクエストで受け付けるURIを指定する。コンテキストパスからの続き。 例)「http://FQDN/ContextPath/hoge/foo/」の場合、「@Path("hoge")」と設定する。 @Encoded HTTP…

RESTful Web Service using SpringMVC入門

SpringMVC使ってRestサーバ作ってみる。 覚えたてのGradleベースでやる。tanakakns.hatenablog.com 環境は下記。 >gradle -v ------------------------------------------------------------ Gradle 2.1 --------------------------------------------------…

MavenユーザのGradle入門

Mavenが動かなくて嫌気がさして始めてしまった。 読み方は「グレイドル」らしい。 しばらく「グラドル」だと思っていたのは秘密。(グラビアアイドルのようだ。。。)取得 http://www.gradle.org/downloads ↓ 今回は、2.1のバイナリのみをゲット。好きなとこ…

Rails4でTwitterっぽいアプリを作ってみる

Railsですっげー簡易なTwitter作ってみる。 Twitterと大きく出たが、ここでは掲示板とかチャットと変わらん。。。 環境構築については下記を参照。blog.pepese.com 環境 Windows 7 Ruby 2.0.0 Rails 4.1.1 手順 ★ファイルは「UTF-8」で保存すること。 1.プ…

Rails4でログイン機能を作成する

Railsでログインだけする機能を作ってみる。 環境構築については下記を参照。blog.pepese.com 環境 Windows 7 Ruby 2.0.0 Rails 4.1.1 手順 ★ファイルは「UTF-8」で保存すること。1.プロジェクト作成 > rails new LoginSample2.プロジェクトディレクトリ…

Windows環境でRails開発するには

Windows環境はRuby開発環境に向いてない。。。 http://moyolab.blog57.fc2.com/blog-entry-116.html なので、Windows上に仮想環境を構築し、そこで開発する。 ここでは以下の通り。 Vagrant VirtualBox CentOS ゲストOSとホストOSの共有ディレクトリ(/vagra…

HerokuでRuby on Rails

HerokuでRailsアプリを動かしてみる。https://www.heroku.com/Herokuについてはググって。 上記でクレカ番号入れることなく、メアドだけでアカウント作れる。HerokuではGit使うから下記でも見てGit環境つくって。blog.pepese.com 下記を参考にサンプルアプリ…

スキャフォールディング(Scaffolding)機能について

環境構築は以下で。blog.pepese.comまた、上記で説明した内容は以降では説明しない。Railsの「rails generate」コマンドにscaffoldというGENERATORがある。 これは、アプリケーションの基本的な機能の一覧(index)、詳細(show)、新規作成(new/create)、編集(e…

YCSBでCouchbaseにアクセスしてみる

YCSB(Yahoo Cloud Serving Benchmark)はデータベースの性能検証用のツール。News: Yahoo Cloud Serving Benchmark http://labs.yahoo.com/news/yahoo-cloud-serving-benchmark/Githubでいろんなのが公開されてる。(brianfrankcooperってのが公式くさい?…

Jersey-Spring3でHello World

Jersey2.8とSpring3でサンプルアプリを作成してみる。 Jersey2.8はJavaEE7のJAX-RS2.0準拠。下記コマンドでプロジェクト作成。 mvn archetype:generate -DarchetypeGroupId=org.codehaus.mojo.archetypes -DarchetypeArtifactId=webapp-javaee7 -DarchetypeV…

RDBMSとNoSQLの周辺技術や考え方の整理

RDBMSとNoSQLの比較 RDBMSはACIDという考えに基づいて設計されている。 対して、NoSQLはBASEという考えに基づいて設計されている。■ACID 項目 説明 Atomicity(原子性) トランザクションが実行されたか、まったく実行されてないかという状態を保つこと Cons…

CouchbaseをDockerにインストール

CouchbaseはDocument型NoSQL。 Couchbase 2.5をDockerで構築してみる。 Docker環境については下記を参照。blog.pepese.com ■Dockerfile FROM centos WORKDIR /tmp RUN echo 'exclude=kernel*' >> /etc/yum.conf RUN echo 'proxy=http://[proxy_FQDN]:[port]'…

Vagrant+Dockerをいじってみる

Dockerとは? コピーオンライトなファイルシステム(AUFS:Another Union File System)とLinuxコンテナ技術(LXC:Linux Containers)を利用してアプリケーション配置を支援するツールハイパーバイザ型仮想化(VMware、VirturlBox、KVM等)みたいにOS一式動か…

Chefのrecipeの書き方

レシピ職人になろうかな。recipeにはシステムのあるべき姿を記述する。 recipeはResourceという命令単位で記述する。Resourceの基本構文 {Resourceタイプ} "Resource名" do # (1)実行条件 {only_if | not_if} { {条件文} } # (2)Action action :action # 後…

Jacksonが/(スラッシュ)をエスケープしてくれない件

RFC的にはJSON中の文字列で「/」(スラッシュ)を返却する際にはエスケープ「\/」しないといけないけど、Jacksonはやってくれなかった。 実際にはjersey-json-1.17.1を使用しているときにはまった。 jersey-json-1.17.1を使用するとJSON-オブジェクト変換し…

MongoDBのインストールと簡単なmongo shellの使い方

環境はVagrant+VirtualBoxで作ったCentOS(RHELでも同じみたい)。 環境の作り方は下記で紹介してる。blog.pepese.com yumでインストール MongoDB取得用のリポジトリを登録 /etc/yum.repos.d/配下にmongodb.repoを作成 mongodb.repoを編集 64bitの場合 [mong…

Pythonのサードパーティモジュールの導入方法

標準モジュール以外も使いたいよね。 PyPI(Python Package Index) Pythonのモジュールを集約しているサービス。公式 https://pypi.python.org/pypi pip Pythonにおけるパッケージ管理システム。 PyPIにあるモジュールを簡単にインストールできる。 pipのイ…

ログ収集について(kibana、elasticsearch、logstash、Fluentd、Apache Flume、Splunk)

Kibanaというツールがきっかけでちょいとメモ。Kibana入門 https://speakerdeck.com/y310/kibanaru-menこれまでもElasticSearchというのが流行ってたりとか Splunkっていうツールを小耳にはさんだりとかで 「ログ収集・分析」みたいな分野は気になっていた。…