/var/log

技術ネタ多めで思ったことを書きます。※内容は個人の発言であり、所属する組織を代表するものではありません。

RECRUITの公開API

実は去年、、いや今となっては一昨年(?)にRECRUITさんが機械学習・AI系のAPIを無料で公開してくれたようで いまさらその存在を知ったので使ってみました。

準備

メールアドレスを登録してAPIキーを取得する必要があります。

A3RT

今回は「Named Entity API」を使ってみました。

テストコード

APIキーと分析したいセンテンスをGETのパラメータで渡してあげるだけです。 WindowsのAnaconda環境で実施したので、文字コードをUTF8にして文字化けを防いてみました。

a3rt_recruit-tech_Named_Entity_API

まとめ

いままで公開APIを使ったことがないのですが、便利ですね。

O'Reillyの本をKindleで見る方法

ざっと調べたのですが、完璧な方法が見つからず。

Kindleで読むためには

  • O'ReillyのWEBからEbook(電子書籍)で購入
  • Kindle for PCに取り込み

    1. mobiファイルの場合はバブルクリック
    2. PDFの場合はIMPORT
  • iOSには「Kindleへ送る」オプションを利用して登録

問題点

一応、PCでもiOSでも見れるのですが、iOSからパーソナルドキュメントとして登録してもKindle for PCには配信が出来なかった。

何かいい方法があると思うのだけど、とりあえず読めるからいいか。

まぁ英語で読めれば米国Amazonから買えばKindle版があるらしいのでそれが一番かもな。

2019年に挑戦したいこと

お題「2019年に挑戦したいこと」

振り返り

去年は家族が増えるなど、目まぐるしい一年でした。 その中でも、いくつかの資格を取得したり、社会人になって諦めていた分野にも少し戻ることが出来ました。

今年もこの流れを継続したいと思います。

挑戦したいこと。その1。

ズバリ 自分で作ったサービスをローンチする! です。

もともとITの仕事についたのはこれ以外に出来ることがなかったというのも 大きいですが。 ITの力で人の役に立ちたいという想いが原点にあります。

ただ開発スキルはここ数年ですっかり停滞してしまい技術的な負債を抱えてしまったような気がします。 なので、いきなり社会に貢献するみたいな壮大な目標はたてず、何か一つ作って自信がもてるようにしたいと思います。

挑戦したいこと。その2。

もう一つ、目標を達成するためには必要なことですが、久々に英語を勉強したいと思います。 同時通訳が実現しそうな世の中ではありますが、英語の方が得られる情報が多いのと、レベルの高い教育を受けれる機会が増すので。

最近だとcourseraとかudemyで日本にいてもある程度は教育が受けれる、かつ今後は場所を問わず仕事できる環境が整うと思うので。

とりあえず英検準一級、TOEIC720点ぐらいが記録上の最高地点だった気がするので、このレベルに戻ってくるところからですね。。

Jenkinsの導入

環境

構築中の環境はこちら。CentOS7を素でインストールして頑張って設定中です。

(本当は勉強がてらDocker使いたかったのですが、PCでDocker On Win10しているので、無理やり使う意味もないので割愛。)

$ uname -r
3.10.0-957.1.3.el7.x86_64
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

なお、参考にしたWEBページはこちらです。

Installing Jenkins on Red Hat distributions - Jenkins - Jenkins Wiki

ポイント

CentOS7の方の設定があまく、Firewallがいろいろと邪魔をしてくるので インターネットに直にさらされている場合は非推奨ですが、一旦以下のコマンドでFWを無効化。

systemctl stop firewalld
systemctl disable firewalld

これでJenkinsのサービスが起動したら

http://[JenkinsサーバのIPアドレス]:8080

でアクセス出来るようになりました。 (デフォルトのポート設定のまま起動している)

まとめ

Jenkinsをいれたので、あとはGitLabを入れてJenkins+GitLabでCI環境をつくるか、 GitLabについているCIを使うのか。。。悩みは尽きない。

仮想か物理か、それが問題だ。

自宅でPCをさわる時間がめっきり減ってしまった。
いっそのこと、AWSのWorkSpaceを使ってみたらどうだろうか?
そんなことを思い立った。

そこで、ちょっと試算してみました。
計算間違ってたらすみません。

Windowsの場合の料金

2019/01/03時点のAWSの料金表をみると

料金 - Amazon WorkSpaces(仮想クラウドデスクトップ) | AWS

2 vCPU、4 GiB メモリ、175 GB(+100 GBユーザボリューム)

  • 月額料金で57 USD
  • 時間料金で26 USD/月 + 0.40 USD/時間

2 vCPU、7.5 GiB メモリ 175 GB(+100 GBユーザボリューム)

  • 月額料金で85 USD
  • 時間料金で26 USD/月 + 0.74 USD/時間

これに加えてOfficeを使うなら追加で月額 15 USD 追加となりそう。

1年だと、おいくら円?

1ドル=110円、一日平均30分の利用、かつWorkSpaceの端末から外部(インターネット)への通信に料金を除いて考えると。

2 vCPU、4 GiB メモリ、175 GB(+100 GBユーザボリューム) + Office

  • 月額料金で95,040円
  • 時間料金で62,304円

2 vCPU、7.5 GiB メモリ 175 GB(+100 GBユーザボリューム) + Office

  • 月額料金で132,000円
  • 時間料金で69,260円

ぐらいになる。

まとめ

最近のPCの値段がよくわからないし、
ものによるけど、感覚的には2年ぐらいで物理的にPCを買うのと同じぐらいの料金になる感じかな?
高いような気もするけど、PCを使うことほとんどないこと、及び
AWSならではのバックアップ等の運用を加味するとタブレット+WorkSpaceの利用で問題なければ
少し高いけど、ありかもしれない

利用者的にはもう少し安くなってくれたら、所有から利用の時代になった感を実感できるのかな?
(十分安い気もするが)

Proxy監獄からの脱出

社内等でプロキシ環境下のPCからyumやGitを利用するための設定方法を調べたので備忘。
利用は各自、自己責任でお願いします。

単純なプロキシ配下の場合

外部に接続するために以下の経路となっている場合の設定方法です。

PC
↓↓↓
Proxy
↓↓↓
インターネット

bash環境変数

この設定だけでもyumpingなどは問題なく利用できる。

export http_proxy="http://[ユーザID]:[パスワード]@[プロキシサーバIP/NAME]:[ポート番号]"
export https_proxy="http://[ユーザID]:[パスワード]@[プロキシサーバIP/NAME]:[ポート番号]"
export ftp_proxy="http://[ユーザID]:[パスワード]@[プロキシサーバIP/NAME]:[ポート番号]"

Git関係の設定

Gitの方は上記の環境変数だけでは駄目だった。
追加で以下を設定する。

git config --global http.proxy http://[ユーザID]:[パスワード]@[プロキシサーバIP/NAME]:[ポート番号]
git config --global https.proxy http://[ユーザID]:[パスワード]@[プロキシサーバIP/NAME]:[ポート番号]
git config --global url.https://.insteadOf git://

pipの設定

proxy経由で pandas をインストールする場合はこんな感じです。

pip install pandas --proxy "http://[ユーザID]:[パスワード]@[プロキシサーバIP/NAME]:[ポート番号]"

多段プロキシでインターネットに接続する場合

開発環境などで直接Proxyにつなぐことすら叶わない場合は踏み台を用意する。

VM
↓↓↓
Proxyにアクセスできる端末 ※squid等を動かしておく
↓↓↓
Proxy
↓↓↓
インターネット

squidの設定例

squidにこだわる必要はないですが、簡単なので肝になる設定だけ記載しておきます。
待受ポートの設定の設定はこんな感じ。
(デフォルト設定のまま)
↓↓↓

http_port 3128

Proxyへの転送設定はこんな感じ。 ↓↓↓

cache_peer [プロキシサーバIP/NAME] parent [ポート番号] 0 no-query login=[ユーザID]:[パスワード]

bash環境変数

この設定だけでもyumpingなどは問題なく利用できる。

export http_proxy="http://[squidが稼働している端末のIP/NAME]:[squidの待受ポート番号]"
export https_proxy="http://[squidが稼働している端末のIP/NAME]:[squidの待受ポート番号]"
export ftp_proxy="http://[squidが稼働している端末のIP/NAME]:[squidの待受ポート番号]"

まとめ

多段プロキシの設定が最初はよく分からなかったですが、squidを使えば簡単に設定できるので参考にしてみて下さい。