2017年6月19日月曜日

X11経由でjconsoleを実行する

いつも忘れちゃうのでメモする

遠隔でjconsoleを実行する方法は2種類ある
1. 監視対象java実行時にjmxremoteオプション付きで実行する
・この場合、javaの実行オプションを修正し、プロセス再起動する必要がある
・踏み台サーバーを利用する場合、portポーワディングをする必要がある
2. リモートサーバーからX11アプリケーションを直接起動する
・クライアント側にXQuartzをインストールが必要
・SSH接続の際に-Xオプションが必要
・リモートサーバーにxauthがない場合、インストールが必要

ここでは2.の環境設定について

クライアント側設定 
1. XQuartzインストール
・https://www.xquartz.org/から.dmgファイルをダウンロード&インストールする。
 ※windows+teratermだとX11転送を許可するチェックをつける必要がある

サーバー側設定
1. xauthのインストール
・sudo yum list | grep xauthで状態がinstalledではないならインストールが必要
・sudo yum install xauth
2. java font設定 直接javaを実行すると日本語が□と文字化けされるのでfontを入れる必要がある
※java?linux側のバグでjavaのfont設定プロパティに記載されている階層にfontファイルが存在しない為
・fontセットをダウンロードする
・/usr/share/fonts/japanese/TrueTypeにttfファイルを置く
   sazanami-gothic.ttf
   sazanami-mincho.ttf
・上記のfontのsymbolic linkを/usr/share/fonts/ja/TrueType/に作成
  kochi-gothic-subst.tt
  kochi-mincho-subst.ttf


2017年6月18日日曜日

iijmio bic simどこで買うべきか

DIT serversman simは普段は何もなく使えたが
外に出かけると、地図とかナビなどでlimit解除使うことになってしまう。100mbのチャージを頑張って2ヶ月間で使っていたがスピードも微妙だし最近1000円未満のmvnoサービスに比べると損している気がしていた。

丁度、来月の夏休みを備えてハンドルチャージ付きのsimに変えることにした。
最初はocnのsimを考えたが、毎日30mbよりは使ってない時は貯めて使える、さらにwifiのwi2 300も使えるbic simを購入することにした。

でも、調べてみると色んな購入先があるのが分かった。
・amazon
・ビックカメラ、ゴジマ、ソフマップのお店(オフライン)
・楽天市場(ビックカメラ、ゴジマ、ソフマップ)

オンラインの売り場だと、どちらも送料が500円程度掛かる。Amazonの送料無料のメリットがここでは通じない。メール便でも送れるはずなのに・・・
お店で直接買うのも考えたが、近くに支店もないし買いに行ったとしても在庫があるのか・直ぐ買えるかはわからない。

今月は丁度スーパーセール・楽天ツールバー・誕生日での期間限定のポイントも残っていたので、楽天で買うことにした。
楽天の中でもビックカメラ・ゴジマ・ソフマップの店があって、値段は同じだしどちらも5000円から送料無料。
結局、残り1850円分の日用品も一緒に購入することにした。
決めたきっかけは、前から無線LAN用として買おうとした24時間タイマーがゴジマにあったのと、ゴジマだけポイント2倍キャンペインをしていること。


日用品をゴジマで購入するのは少し微妙なところもあった。いくら送料無料の為だと言っても無駄な買い物はしたくないし、Amazonか近所のお店よりは高値で買いたくない。そんな基準で調査・選らんだのが上記の一覧。2週間ぐらい悩んでた。

あとは品物が届くのを待つだけ。今までは使っていたDTIのsimは前に試したいと言っていた会社の同僚に貸して、来月末に返却する予定。

wi2 300は会社近くの青山でも使えるらしい。会社で使えるとラッキーだけどな・・・

2017年6月14日水曜日

セス・ゴーディンが語る「フリーランサーが働く5段階」(記事翻訳)


世界的な起業家で、マーケッター 、講師、作者であるセス・ゴーディンは
プリーランサが働くには5段階方法があると言います。
これから、その5段階について紹介したいと思います。
今フリーランサーをやっていて自分の位地を知りたいか、フリーランサーになりたいけど自分に向いているのか心配であれば、これからの内容をご覧になってください。
自分がどの段階に該当して、どうすれば次の段階に行けるのかを悩みながら。

1. メカニカルターク(Mechanical Turk)
初めの段階は「メカニカルターク」です。メカニカルタークはAmazonが運営する人材仲介サービスです。いわゆるオンラインフリーマーケットみたいなものです。
誰も仕事を依頼したり、仕事が欲しい人は何回のクリックで簡単に見つかります。
どんなに小さな仕事でも、依頼人・仕事を受ける人・費用の支払いの条件さえ揃えていれば成立します。
メカニカルターク段階はウーバーかカカオタクシー(韓国版ウーバー)みたいなサービスでも適用されます。運転手が必要であれば、あなたはアプリケーションで呼び出しします。運転手がどんな人なのかは気にしていません。目的地へ安全に移動さえできれば問題ないです。

ubertaxi.jpg

この段階の仕事は特別なスキルは必要ありません。しかし、これは世の中で何処にもある一般的に必要な仕事です。良い仲介人と出会えれば、少ない手数料で仕事を得ることもできます。

メカニカルフリーランシングのメリットはマーケティングを考慮する必要がないことです。次の仕事をどう探すか悩む必要はありません。仲介人が仕事を紹介してくれますから。デメリットは、あなただけの特別さがないことです。あなたの名前・ブランドは重要ではありません。似たような仕事をする人が多いですから。あなたはシステム中の部品、永遠に続くリストの中での一人として存在します。

stuck-765x315.png

セス・ゴーディンは自分の講義を聞いている全てのフリーランサーが、この段階から抜け出して欲しいと語っています。これこそがフリーランサーコーチングの最終目標だと言います。話を聞いてると、色んな人がこの段階で苦労しているらしいです。そのような人たちは単純に止まっている訳ではなく、その状態に「埋め込まれている」と言えます。この段階から抜け出すのは思ったより難しいです。


2. 便利な人(Handyman)
二つ目の段階は「便利な人」です。便利な人は単純に「使える」理由で仕事が得られます。簡単に雇用できる人、一番近い人です。便利な人になるとメカニカルタークに止どまるよりは色んなメリットが得られます。あなたがやっている仕事を必要としている人が十分多ければ、ですけど。仮に、半径数十km以内でウェーディング写真ができるカメラマンがあなた一人だけしかないとしたら、あなたは競争相手がないだけの理由で仕事を得ることができます。

nearest-765x383.png
面倒だから近い人に・・・


3. 職人(Caftsman)
三つ目の段階は「職人」です。便利な人になることで満足できるかも知れませんが、あなたにはもっと大きい可能性があります。職人は自分の作品、自分の仕事に十分な投資する人です。同じ仕事をする他の人より優れていることを証明できる人です。使えるフリーランサーを探している人なら、職人を会った時にこう言います。「あなたがもっと優秀だからあなたと契約します」

craftsman-765x377.png


4. 唯一無二(Unique)
四つ目の段階は、「唯一無二(unique)」な人になることです。特定分野で仕事ができる唯一な人になること、高度に熟練されたナンバーワンになるのは容易くありません。自分の名前を胸を張って言える人、噂だけで仕事の依頼が来る人。有名な「あの人」になることは十分な価値があることです。

unique-765x321.png


5. 注目される(Remarkable)
五つ目の段階は「注目される(remarkable)」です。注目される人は人と人を繋げてくれます。その人が行っている仕事はあまりにも素晴らしくて、顧客の口コミが絶えません。ある飲食店の美味しさを周りの人に紹介した経験はないでしょうか?あまりにも優秀で、他の人たちから推薦される人。満足度が高い仕事をこなせる人。五つ目の段階まで登った人はそんなに多くありません。

connectpeople-765x383.png


さあ、ここで自分を振り返して見てください。あなたはどの段階にいますか?あなたには自分の知名度かブランドがありますか?専門性がある仕事をやっていますか?仲介人が次の顧客を紹介してくれるのを待つだけですか?それとも顧客が次々と訪ねて来ていますか?五つの段階で自分が何処にいるのか、どうすれば次の段階に移せるのか考えてください。そしてあなたがやっている仕事に費用がどのぐらい掛かるか、顧客にはいくら請求するのか考えてみてください。顧客の立場であなたは予算に関わらず仕事を任せたい人ですか?もしかしてコストカットの対象として考えてはないでしょうか?



・出典:「フリーランサー101;優れたフリーランサーになる方法」5種類のフリーランシング
・記事:http://www.bloter.net/archives/281617 (bloter, ユン・ナリ)

2017年6月12日月曜日

aws無料枠使用なのに料金が発生していた

今年になってから本腰を入れてaws使い始めている。
まだ無料枠も残っているし、使っているところとしては
・EC2:使い終わったら、直ぐ停止
・S2:保々数メガしか使ってない
・その他:aws Iot, api gateway, lambda

だったので、完全に油断していた。

最近、一応気になって請求をみたら、こんな金額が


明細を見るとEC2で発生している。
インスタンスも無料のしか使ってないし、通常は停止しているので
変だな・・・と思い、請求の詳細をみたら


Elastic IPの使用時間が168時間・・・約7日放置していたことに。
どうやら、インスタンスが「起動」しているIPに対してEIPを割り当てても無料だが、「停止」しているインスタンスに対して、EIPを割り当てたまま放置しておくと課金されるらしい。
停止したのが裏目に出るとは。早速割り当ても解除することに。

まあ、やりたいことは殆どlambdaでできるし
しばらくEC2いじるのは辞めにしようと思う。

料金は100円程度だが、こんなことで自腹で払うのはあれなので
前もらった25$のクーポンを登録した。

2017年6月2日金曜日

aws summit 2017 2017/06/02


今年は会社のマックを持って行けたので、hands-onも快適でメモがかなり楽だった。


講演:茂木 健一郎など(10:00〜12:00)
遊んでいる脳が一番クリエイティブ






HERE: Making sense of the world through the lens of location. (12:20〜13:00)
・海外の自動車関連企業説明。殆ど自社宣伝


Amazon EC2を使ってみよう(Linux)(13:20〜14:00)
・移動中、偶然ブースを見かけて予定変更しました
・EC2を構築するHands On。1時間中awsの無料サービスが使える
・ネット見ながら自前でやるよりは安心感があった


[ワイヤ・アンド・ワイヤレス] AWS Lambda を使ったモバイルバックエンドのサーバレス開発事例(15:20~16:00)
・lambdaでJAVAを実行する際にライブラリークラスが多くなると起動に時間が掛かる(10~30sec)→ 定期的に起動して解消
・API Gatewayとlambdaは同期処理になる(処理が終わるまで他の処理ができなくなる)ので、lambdaの後ろにもう一つのlambdaを立てて、非同期処理を実現した
・lambda単位(function単位)でログが出力されるので、ログ管理には工夫が必要
・SAM(serverless Apllication Model)フレームワークを使用してAPI Gatewayとlambdaを一緒にデフロイしている
・C#, java, node.js, pythonでlambda検証してみた
 - メモリ:384MB タイムアウト:30秒
 - duration:JAVA/C#は初回起動に時間が掛かる、継続して動作すると早い→といってもプレゼンの資料を見た感じpythonかnode.jsの方が早そう。
 - メモリ:JAVAはメモリ使用量が多め
・lambdaのテストはモックを用意してやった
・lambdaエミュレータ(github)あるらしい


[ワークスアプリケーションズ] AWS Lambda で変わるバッチの世界 ~ CPU 時間トータル 100 時間の処理を 10 分で終わらせるには~(15:20〜14:00)
・Springのバッチ処理でHTMLを生成する処理
・従来ではsparkでトータル2時間掛かっていた。改修後の目標は処理時間 10分
・lambdaよりはspringに関わった処理を切り離して高速化
・処理をJAVAのコンストラクタに書くとlambdaの課金対象外になる。ただしTimeoutが短い(課金対象になる)
・lambdaのCPU性能はメモリに比例、コスト増は保々なし


[Sansan] AWS が支える Eight のリコメンデーションエンジンの裏側(16:20~17:00)
・リコメンド計算エンジン、という個人データを元に関連性を作る処理。毎日1回バッチで実行
・従来:redshift使用 → 無駄に複雑なクエリ、コスト増
・開発期間2ヶ月
・改善方法
 - lambda:メモリを増やす
 - dynamo DB:batch writeでまとめて処理
 - lambdaが増えすぎて管理コストが掛かる→一つにまとめて処理を分岐させる
・レーティングデータの陳腐化があった
 - dynamo dbはalter tableがないので、data pipelineを利用しdynamo dbを作り直す
・data pipeline+step functions利用し、フロー化
・lambdaは5分タイムアウトされてしまうので、完了してないとエラー扱いにしてリトライさせた


感想
・エンタプライズ環境ならともかく、サーバーレスでjavaはダメな気がする。これも時代の流れかも。
・当たり前かも知れないが、JAWSに比べると商業的な感じがする。開発者としてこのような雰囲気はあまり好きではない。