curlコマンドの使い方
#GETリクエスト curl localhost:8080/api/json | jq . #オプション -o ファイルへの出力 curl localhost:8080/api/json -o response #進捗状況を表示しない。エラーは出力する curl -Ss localhost:8081/api/json #HTTPレスポンス ヘッダーのみ curl -I -s 'localhost:8080/api/json?' #HTTPレスポンス ヘッダー Body 両方 curl -i -s 'localhost:8080/api/json?' #HTTPリクエスト ヘッダー curl -v -s 'localhost:8080/api/json' | jq . #POSTリクエスト curl -sS -w '\n' -X POST 'localhost:8080/' #POSTリクエスト データ送信 curl -w '\n' 'http://localhost:8080/createItem' --data 'name=sample&mode=hudson.model.FreeStyleProject&Submit=OK' -XPOST #POSTリクエスト データ送信(URLエンコード) #&で複数のパラメータを定義しようとしても、肝心の&がエンコードされてしまいます。 #そのためSubmit=Saveは別途-dで付与 curl -w '\n' 'http://localhost:8080/job/sample/configSubmit' --data-urlencode 'json={"properties": {"hudson-model-ParametersDefinitionProperty": {"parameterized": {"parameter": {"name": "FileParameter", "description": "Upload file to Jenkins.", "stapler-class": "hudson.model.FileParameterDefinition", "$class": "hudson.model.FileParameterDefinition"}}}}}' -d 'Submit=Save' -XPOST
Docker上のCentOSからPostgreSQLに接続する検証
Docker上のCentOSからPostgreSQLに接続する検証
Dockerホスト側の設定
Dockerホストの設定
yum install -y docker service docker start docker pull centos:centos7 docker run -i -t centos /bin/bash
Dockerコンテナ上の設定
yum localinstall -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-ami201503-96-9.6-2.noarch.rpm yum install -y postgresql96 postgresql96-server postgresql96-libs postgresql96-contrib #DBサーバをIP or ホスト名を指定 DB_HOST= PG_USER_NAME=devuser PG_PASSWORD=password PG_PORT=5432 PG_DB=sample #SSLモードでの接続 /usr/pgsql-9.6/bin/psql "postgres://${PG_USER_NAME}:${PG_PASSWORD}@${DB_HOST}:${PG_PORT}/${PG_DB}?sslmode=require" #接続しているユーザーを確認 select session_user;
PostgreSQL側の設定
PostgreSQLのインストール
yum localinstall -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-ami201503-96-9.6-2.noarch.rpm yum install -y postgresql96 postgresql96-server postgresql96-libs postgresql96-contrib
PostgreSQLの初期化
/etc/init.d/postgresql-9.6 initdb /etc/init.d/postgresql-9.6 start
SSLに対応するため証明書などを作成
cd /var/lib/pgsql/9.6/data openssl genrsa -out server.key 1024 openssl req -new -key server.key -x509 -days 365 -out server.crt chmod 600 server.* chown postgres:postgres server.key server.crt
postgresユーザーにパスワードを設定
su - postgres
psql
alter role postgres with password 'password';
\q
設定ファイルの編集
postgresql.conf
/var/lib/pgsql/9.6/data/postgresql.conf
listen_addresses = '*' port = 5432
ssl = on ssl_cert_file = 'server.crt' ssl_key_file = 'server.key'
pg_hba.conf
/var/lib/pgsql/9.6/data/pg_hba.conf
#TYPE DATABASE USER CIDR-ADDRESS METHOD host all all 0.0.0.0/0 md5
再起動
/etc/init.d/postgresql96 restart
接続確認
su - postgres createuser -P devuser psql \du \q
データベース作成
psql \dp create database sample; \l
テーブルの作成
\connect sample CREATE TABLE table1(id int, nick_name character varying(5)); \dt GRANT SELECT, INSERT, UPDATE, DELETE ON table1 TO devuser; psql postgres devuser
インターネット側から見える自身のIPアドレスを確認する
NAT環境下にいるホストがどのように見えているかを確認するために、次のサイトを利用した。
https://www.cman.jp/network/support/go_access.cgi
sedを利用して、上記のサイトのレスポンスから自ホストのIPアドレスを切り出している。
curlコマンドのオプションの意味は次の通り。
- s 進捗状況を表示しない
- S 進捗状況を表示しないが、エラーは出力する。
API_HOST=https://www.cman.jp/network/support/go_access.cgi curl -sS ${API_HOST} | grep "<div class=\"outIp\">" | sed -e "s/\(.*<div class=\"outIp\">\)\(.*\)\(<\/div>\)/\2/"
aws s3 基本コマンド
BUCKET_NAME= #バケットの作成 aws s3 mb s3://${BUCKET_NAME} #バケットの削除 aws s3 rb s3://${BUCKET_NAME} #バケットの内容を参照する aws s3 ls ${BUCKET_NAME} --recursive --human-readable --summarize #ファイルのコピー #パス名の末尾の"/"の扱いによりファイルかフォルダの扱いが変わる aws s3 cp hoge.txt s3://${BUCKET_NAME} aws s3 cp bar s3://${BUCKET_NAME}/ --exclude "*" --include "*.txt" --include "*.jpg" --recursive aws s3api put-object --bucket ${BUCKET_NAME} --key "items/" #ファイルの削除 aws s3 rm s3://${BUCKET_NAME} --recursive --dryrun
mavenの勉強
●事前準備
1) デフォルトのエンコーディングをUTF-8にすることができる。
eclipse.ini
-Dfile.encoding=UTF-8
2) ローカルリポジトリの設定
デフォルトだと以下の場所に作成される??
"C:\Users\yunos\.m2\repository"
ウィンドウ->設定->maven->ユーザー設定
C:\Users\yunos\.m2\setting.xml
●検証
・ローカルリポジトリにすでにダウンロード済みであれば、再度ダウンロードしない模様。
・pom.xmlに記述があれば、eclipseの設定を更新してくれる模様。
●疑問
maven フェーズ、ゴール
mvn compile コンパイルまで
mvn test テストまで実行
mvn package target ディレクトリに作成される。
mvn install ローカルリポジトリへの登録まで
mvn clean target ディレクトリの削除
pom.xmlの記述
modelVersion: POM のバージョン。 特に変更する必要なし
groupId : プロジェクトを一意に識別する名前
artifactId : プロジェクトの成果物の名前
packaging : 作成する成果物のパッケージング・タイプ jar, war など
version : プロジェクトのバージョン
name : プロジェクトの表示名。 ドキュメントを作成するときなどに使用される。
url : プロジェクトのサイトの URL。 ドキュメントを作成するときなどに使用されます。
dependencies: プロジェクトが依存するライブラリの情報。
※プラグインなどについても理解する。
●参考URL
【超初心者向け】Maven超入門
https://qiita.com/tarosa0001/items/e5667cfa857529900216
2. Maven 入門
http://www.techscore.com/tech/Java/ApacheJakarta/Maven/2/
Eclipse+Maven という便利な開発環境をインストールからプロジェクト作成まで
https://qiita.com/daikuro/items/4d4d694ddb3cc620bee1
第1章 構成管理入門
http://www.nulab.co.jp/kousei/chapter1/01.html
Subversionによるバージョン管理
http://svnbook.red-bean.com/
PERFORCE ソフトウェア構成管理の高度な実践方法
http://www.toyo.co.jp/ss/perforce/technical_bestpractice.html