mavenでインストールしたプログラムを実行する

Java

mvn installしただけでは、依存関係が解決できずにプログラムを実行できない場合は、下記のようにするとdependancyディレクトリに全て依存ライブラリもインストールされて実行できるようになります。

 mvn clean install dependency:copy-dependencies
 java -classpath ".:*:dependency/*"  "クラス名"

mapbox Mapbox Studio で作ったデータをJavascriptで受け取る

Javascript

Mapbox]]ではいろんなことができますが、[[Mapbox Studioで地図がカスタムできたり、地図上にマーカーやポリゴン、線が勝手に引けるのもMapboxの魅力の一つです。

ここでは、MapboxStudio マーカーを置くで作ったような、マーカーやポリゴンの情報を、ではMapbox GLを実装したWeb地図で、どのように取得するかを書いておきます。
(落とし穴もあったので…)

まず、ポリゴンやマーカーの位置情報は、基本的にDatasetsというものの中に入っています。

このわかりにくい、Mapbox API DocumentationのDatasetsを見てみましょう…。
https://www.mapbox.com/api-documentation/#datasets

まずですねー、

 "https://api.mapbox.com/datasets/v1/{username}?access_token=your-access-token"

でDatasetsのリストが取得できると書いてありますが、やってみると、Not foundになります…。

めげずに!!
datasetを指定して、取得する、というのをやってみます。

https://api.mapbox.com/datasets/v1/{username}/{dataset_id}?access_token=your-access-token”

ここで、2つ目の罠が!
このdataset_idというのは、Mapbox Studioの中の、Datasetの画面の次の部分に書かれています。
最初、名前とかかと思ってたw

&ref(dataset_id.png);

すると、レスポンスがJSONで帰ってきます。
全体的なサンプルコードを掲載しておきます。

 function getDatasets(){
 	
 	var dataset_id = "hogehoge";
 	
        var url ="https://api.mapbox.com/datasets/v1/hogehogecompany/" + dataset_id + "?access_token=" + mapboxgl.accessToken;
 
        var xmlhttp = new XMLHttpRequest();	
 	
        xmlhttp.onreadystatechange = function() {
 		    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
 		    	
 		        var result = JSON.parse(xmlhttp.responseText);
 		    
 		    }else{
 		    	
 		    	$("#result").text("指定のデータは存在しません");
 		    }
 	
 		}
 	
 	xmlhttp.open("GET", url, true);
 	xmlhttp.send();
      	
 }

linux iptablesを設定する

Linuxサーバー

基本的なiptablesの設定方法です

すべてのチェインの中身を削除する

 /sbin/iptables -K

ユーザー定義チェインを削除する

 /sbin/iptables -X
 /sbin/iptables -A INPUT -i lo -j ACCEPT
 /sbin/iptables -A INPUT -p icmp --icmp-type any -j ACCEPT
 /sbin/iptables -A INPUT -p 50 -j ACCEPT
 /sbin/iptables -A INPUT -p 51 -j ACCEPT
 /sbin/iptables -A INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
 /sbin/iptables -A INPUT -p udp -m udp --dport 631 -j ACCEPT
 /sbin/iptables -A INPUT -p tcp -m tcp --dport 631 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10022 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
 /sbin/iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT
 /sbin/iptables -A INPUT -m limit --limit 1/s -j LOG --log-prefix "[IPTABLES INPUT] : "
 /sbin/iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited

設定の確認

 # iptables -L
 Chain INPUT (policy ACCEPT)
 target     prot opt source               destination
 ACCEPT     all  --  anywhere             anywhere
 ACCEPT     icmp --  anywhere             anywhere            icmp any
 ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns
 ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp
 ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp
 ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp-data
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ftp
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:10022
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:smtp
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:https
 ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:munin
 LOG        all  --  anywhere             anywhere            limit: avg 1/sec burst 5 LOG level warning prefix `[IPTABLES INPUT] : '
 REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
 
 Chain FORWARD (policy ACCEPT)
 target     prot opt source               destination
 
 Chain OUTPUT (policy ACCEPT)
 target     prot opt source               destination
 

設定内容を保存します

 service iptables save

iptablesを再起動します

 service iptables restart

jpgが上書き保存できない

Photoshop

レイヤー情報があると、jpgなどの写真を上書き保存できません。

次の二つの方法でjpgで保存できます。

  • 「ファイル」→「Web用に保存」でJPGを選択する。
  • 「レイヤー」→「画像を統合」でレイヤーを統合する。こうすると、レイヤーは一つになってしまうので、またバラバラのレイヤーで編集したくてもできません。最終的な段階で行ったほうがいいでしょうね。

mod_pagespeedをインストールする

Linuxサーバー

2013/8/27時点の情報です。
mod_pagespeedを導入すると、クライアント側のレンダリング速度は改善されますが、サーバー側のCPU負荷・メモリ消費・Disk I/Oは増加し、純粋なスループットは低下します。
Disk I/O負荷を軽減するため、キャッシュ領域にtmpfsを割り当てたり、memcachedを利用することが可能です。

インストール

下記ページからサーバーにあったパッケージを取得します。
https://developers.google.com/speed/pagespeed/module/download

CentOS 65bitの場合は下記の手順になります。

 wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm
 yum install at
 rpm -U mod-pagespeed-*.rpm

デフォルトでmod_pagespeedが有効で、css/javascript/画像の最適化が
有効な状態になっています。

Webサーバーを再起動すると、mod_pagespeedが有効になります。

設定ファイルの場所

apacheの場合は下記になります。

 /etc/httpd/conf.d/pagespeed.conf

mod_pagespeedの有効・無効切り替え

pagespeed.confで有効・無効を切り替えることができます。
インストール時デフォルトで有効になっています。

有効にする

 ModPagespeed on

無効にする

 ModPagespeed off

統計データ表示

下記URLで統計データを閲覧できます。
http://server-name/mod_pagespeed_statistics

デフォルトではローカルホストしか閲覧許可していないので、必要に応じてpagespeed.confを修正します。

 <Location /mod_pagespeed_statistics>
     Order allow,deny
     Allow from localhost
     Allow from 127.0.0.1
     SetHandler mod_pagespeed_statistics
 </Location>

処理メッセージ表示

下記URLで処理メッセージを閲覧できます。
http://server-name/mod_pagespeed_statistics

デフォルトではローカルホストしか閲覧許可していないので、必要に応じてpagespeed.confを修正します。

 <Location /mod_pagespeed_message>
     Allow from localhost
     Allow from 127.0.0.1
     SetHandler mod_pagespeed_message
 </Location>

キャッシュをクリアする

cssファイル等を変更すると、キャッシュをクリアしないと表示が崩れる場合があります。
下記コマンドでキャッシュをクリアします。

 touch /var/cache/mod_pagespeed/cache.flush

古いキャッシュは、新しいキャッシュで上書きされるようになります。

  • 2013/9/17 キャッシュクリアのファイルパスを訂正しました。