aws s3設定済みの前提。
#!/bin/bash for file in `ls dump_*.sql | cut -d'.' -f1`; do tar --remove-files -zcvf "$file".tgz "$file".sql aws s3 cp "$file".tgz s3://dump/ STATUS=$? if [ $STATUS = 0 ]; then rm -fr "$file".sql fi done
aws s3設定済みの前提。
#!/bin/bash for file in `ls dump_*.sql | cut -d'.' -f1`; do tar --remove-files -zcvf "$file".tgz "$file".sql aws s3 cp "$file".tgz s3://dump/ STATUS=$? if [ $STATUS = 0 ]; then rm -fr "$file".sql fi done
TortoiseGit、SorceTreeのssh設定をまとめてみます。
2つ使う理由としては、TortoiseGitが差分が見やすい、
SorceTreeは現状が視覚的に見えるので。
TortoiseGitをインストールした後に、 TortoiseGitのディレクトリ内にある「PuTTyPuTTYgen」を起動
Generateを押した後にマウスをぐりぐりと動かし、キーを作成。
Save private keyでを押して、praivat.ppk(秘密鍵)を作成。
Save public keyを押して、public.ppk(公開鍵)を作成。
右クリで表示する「Git Clone」のメニューを開いて
Load Putty Keyのところで、作成したprivate.ppkを設定。
これでリポジトリにある公開鍵で鍵がかかった情報に秘密鍵で鍵を開けに行き、
情報を取得できるようになる。
あとは、取得先のリポジトリURLを指定すればOK
「メニュー」→「ツール」→「SSHエージェントを起動」
PuTTYを立ち上げる。TortaiseGitと同じ要領でKeyを作成。
「メニュー」→「ツール」→「Launch SSH Agent」→「Pagentを起動」
Add Keyボタンで作成した秘密鍵を登録してパスワードを入力
Pagentは、pullやpushの際に毎回、パスワードを聞かれなくしてくれるツールです。
元のパス:リモート先のリポジトリURL
保存先パス:ローカルリポジトリのパス
以上です。
広告系、ECサイト、androidアプリなど
サービスによって、求められる技術が変わってくる。
残業推奨か、残業制限か。
社員の顔色はどうか笑。顔色が悪い場合、サービスやシステムも思わしくない場合が多い。
業種にも寄るが、髪型・服装・喋り方などでもある程度わかる。
Java, JavaScript(JQuery), Perlなど。RubyやC++などサブで使っているかなども押さえておきたい。
どのくらいの割合で使うのか。
Junitで単体テスト書いているか。書いているところは、企業体力ある気がする。
テストに工数さけるってことだから。
フロント、サーバー、DBアクセスなどフレームワーク。
独自フレームワークでないことを願いたい。
CVS(もうないか)、SVN、Git。 最近、ずっとSVNだったけど、Gitになったから復習しないとわかんね。
Ant, Maven, gradle ビルドツール。大事だよね。gradleって便利なのかな。使ったことない。
Jenkins。Javaで他にCIツールってあるのかな。
Apche、Tomcat、Nginx。サーバー周り。
Oracle、PostgreSQL これはどれでもいいかな。DBMS毎のクセのあるSQLの書き方はいけない気がするし。
Java ServletをWebサーバー上で動作させるための「サーブレットコンテナ」の一つ。
作成したJava Servletの動作確認をするための簡易的なWebサーバーとしての機能も備えています。
本格的にWebサービスを作成する場合は、Apache(Webサーバーソフト)をサーバーにインストールして
サーバーを動作させます。
tomcat($CATALINA_HOME) ∟ bin ・・・Tomcatプログラム格納先 ∟ conf ・・・各種設定ファイル格納先 ∟ context.xml ∟ sever.xml ∟ tomcat-users.xml ∟ web.xml ∟ lib ・・・必要なAPIを格納。DB接続など ∟ logs ・・・ログ格納先 ∟ temp ∟ webapps ・・・作成アプリの格納先(デプロイ先) ∟ ROOT ・・・http://localhost:8080/でアクセスできる(ROOTの名前の通り、ルートでアクセス可) ∟ index.html ∟ WEB-INF ・・・WEB-INF以外は公開される。WEB-INF以下は、公開されない。設定ファイルなどを配置 ∟ web.xml ・・・classes以下のクラスファイルへどのようなURLでアクセスさせるかを記載 ∟ classes ・・・コンパイル済みファイルを格納 ∟ docs・・・http://localhost:8080/docs/でアクセスできるアプリ ∟ examples ∟ host-manager ∟ manager ∟ work
次にTomcatの設定ファイルの概要について確認していきます。
∟ conf ・・・各種設定ファイル格納先 ∟ context.xml ∟ sever.xml ∟ tomcat-users.xml ∟ web.xml
実際の設定ファイルの配置先は、conf¥Catalina¥localhost以下になります。 localhostはホスト毎のディレクトリ。
∟ conf ・・・各種設定ファイル格納先 ∟ Catalina ∟ localhost ∟ ROOT.xml ・・・ 静的ファイルを保持するプロジェクトの読み込み使ったりする ∟ sampleApp.xml ・・・実際に作成したアプリのcontext.xml
コンテキストの登録を行うファイルです。
アプリの配置先とその呼び出し方を設定します。
<Context path="/hello" docBase="c:/sampleApp/helloworld"/>
docBaseにアプリケーションのルートディレクトリを指定。
pathには、アプリケーションを呼び出すための文字列を指定します。
helloworld以下にindex.htmlが配置されている前提とすると。
呼び出す際は以下のようなURLとなります。
http://localhost:8080/hello/index.html
サーバー単位の設定ファイルです。
Webアプリケーションの登録、ロギング、アクセス方法などが指定してあります。
EnginタグのNameでCatalinaが指定してあったり、defaultHostでlocalhostが指定して
あったりします。Catalinaがサーブレットコンテナ。
昔は、Context pathの指定もこのファイルに存在していたが、現状は、context.xmlとなっている。
Webアプリケーションマネージャーを使う際にお世話になるファイル。
Webアプリケーションマネージャーは、ウェブ画面でサーバーの配備や起動、停止を行えるツールです。
ウェブ画面にログインするためのアカウントを設定したりします。
以下のアカウントを設定する場合、は以下のように設定します。
ユーザー名:admin
パスワード:pass
<tomcat-users> <role rolename="manager"/> <user username="admin" password="pass" roles="manager"/> <!-- <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> --> </tomcat-users>
コンテキストの登録により、静的ファイル(.html)などは参照できますが、
Servletなどは、別途web.xmlに指定が必要です。
フレームワークを導入していると、独自の設定ファイルやアノテーションやクラス名からの推測で設定が不要だったりします。
フレームワークなしの場合の設定を押さえておくことで、Servletを用いていた際の基本設定を理解しておきます。
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>HelloWorld</servlet-class> </servlet> <servlet-mapping> <servlet-name>helloworld</servlet-name> <url-pattern>/helloworld</url-pattern> </servlet-mapping> </web-app>
上記のようにサーブレットのクラス名とサーブレット名、サーブレット名と呼び出しURLに付与するパス名を 紐付けるように指定します。
以下のように呼び出します。
http://localhost:8080/hello/helloworld
IEでCookieをOFFにするには、インターネットオプション ⇒ プライバシータブ インタネット ゾーンの設定で バーを一番上に移動し、「すべてのCookieをブロック」を選択する。
もし、社内サイトへのCookieブロックを行いたい場合は、 ローカル イントラネットゾーン判別設定をOFFにして、インタネット ゾーンの設定の設定(CookieをOFF)を有効する必要があります。
Webサイトが「ネットワーク上どの位置にあるか」を判定していずれかの"ゾーン"を割り当て、割り当てられたゾーンに 基づいてセキュリティー管理を行う、IE独自の機能です。
他にも信頼済みゾーン、制限付きサイトゾーンなどがある。
ローカル イントラネットゾーンに追加されているサイトは問答無用でローカル イントラネットゾーンと判定。
どのゾーンにも追加されていないサイトは、設定よって自動判別がなされる。
以下の設定をON,OFFすることでローカル イントラネットゾーンと見なすかのルールを設定する。
上記のチェックをすべて外すと、インターネットゾーンと判別されるようになる。
Universal Naming Conventionの略称。 コンピュータネットワーク上のフォルダやファイルへアクセスするための構文
構文 \\<computer name>\<shared directory>\ 例 \\pondermatic\public\studyarea.gdb \\omnipotent\shared_stuff\wednesday\tools
昔、RubyでHerokuにアプリを上げたりしてましたが、
Javaアプリをデプロイするやり方がわからなかったので、作業メモとして、残します。
Herokuのアカウント作成していない方は、作成して下さい。
クレジットカード番号は、不要で、メールアドレスのみ登録ができるようです。
「Heroku Toolbelt」というコマンドラインツール(CLI)をダウンロード、インストールします。
このツールにより、herokuへのログインやデプロイを行うコマンドのインストールを行います。
以下のURLを参考。
DL&Install
設定できたら、ログインする。
$ heroku login Enter your Heroku credentials. Email: xxxx@xxxxxx.xxx Password:xxxxxx Logged in as xxxx@xxxxxx.xxx
アプリのルートディレクトリで、以下のコマンドを実行。
アプリ名を省略するとherokuでランダムな名称のアプリを作成してくれます。
$ heroku create [アプリ名]
これにより、Heroku上にgitリポジトリを作成し、そのリポジトリにローカルgitリポジトリが紐付けられる。
ローカルgitのremoteへHeroku上のgitリポジトリが設定される。
デフォルトのpush先が指定されるわけですね。
もし、すでにデプロイ済みでデプロイ先を変更したい場合は、以下が参考になるかもしれません。
Heroku 接続先URLを変更する
以下のコマンドで、デプロイします。herokuに対して、masterブランチをpushします。 mavenタスクがダダダッと走ります。エラーなく、完了すれば、デプロイ完了です。
$ git push heroku master ・ ・ ・ remote: https://new-app123.herokuapp.com/ deployed to Heroku remote: remote: Verifying deploy... done. To https://git.heroku.com/new-app123.git * [new branch] master -> master
以下でデプロイアプリを確認できます。お疲れ様でした。
$ heroku open
もし、エラーが出る場合は、ログを確認してみると良いです。
$ heroku logs
アプリ内でposgreSQLを使用する設定をpom.xmlに書いておくと、Herokuに勝ってにDBが作成されます。
pom.xml内のposgreSQLの設定
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> </dependency>
flywayなどのマイグレーションを設定しておくとアプリデプロイ時にDB作成までやってくれますが flywayが未設定の場合は、テーブル作成やマスタデータ登録などが必要です。
ローカルにpsqlがインストールされていると以下のコマンドでheroku上のアプリのDBに接続できます。
この状態でSQLコマンドでテーブル作成をすると良いです。
$ heroku pg:plsql ・ ・ --> Connecting to postgresql-xxx-11111 psql (9.5.0, server 9.6.1) WARNING: psql major version 9.5, server major version 9.6. Some psql features might not work. SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. new-app123::DATABASE=>