Denen blog

株式会社電縁の社員によるブログです。

フットサル部活動紹介

はじめまして!

フットサル部 部長の箕輪です。

先週行ったフットサル部の活動をご紹介させていただきます。

f:id:yasuaki-sakai:20170530112640j:plain

前回(5月2日)もそうだったのですが、新入社員が沢山集まってくれました!

皆さんありがとう!!

 

そして今回の写真なんですが、すごく良く撮れていませんか?(笑)

f:id:yasuaki-sakai:20170530112603j:plain

 こちらは新入社員のHNHN君が、わざわざ一眼レフカメラで撮ってくれたからです!

ただ、高性能すぎてズームが効きすぎるというアクシデントも発生しました(笑)

 

その他今回はジャーマネのS藤さんやK谷さんがコートの隣のバーまで視察に来てくださいました。

「声ちっちゃくね?」とか「あんまうまくなくね?」とか、散々好きなように言われたのですが、きっと「もっとうまくなれるよ!」というエールなんだと勝手に解釈しています(笑)

お二人ともお忙しい中ありがとうございました!

f:id:yasuaki-sakai:20170530113409j:plain

とまぁ、こんな感じで毎月大崎の駅前で和気藹々とフットサルをしています。

社員に限らず参加者募集中ですので、気になった方は近くの電縁社員までお声掛けください!

 

次回予告としては、活動後に飲む至極のビールたちをご紹介しようと思います(笑)

 

以上、活動紹介でした。

 

書いた人:テレコム第2チーム 箕輪

f:id:yasuaki-sakai:20170530113746p:plain

筋トレ日記 その2

こんにちは。Kむらです。フィットネス部(仮)の日記です。社員有志6名で、あこがれの「GOLD'S GYM」に行ってみたのでレポートします!

※残念ながら、基本的に写真撮影禁止でした。

■第一印象

今回伺ったのは、会社のある五反田からも近いゴールドジム渋谷東京です。

  1. 先ず、場所がおしゃれ過ぎる
    • ⇒渋谷の宮下公園交差点にある、COCOTI渋谷の9~11階にあります。何度も通った事があるけど、こんな所にあるとは知りませんでした。。。

  2. 意外と初心者にもやさしい
    • ⇒こんな貧弱な体で、天下のゴールドジムに行っても良いのかビクビクしてましたが、受付のお姉さんはとても優しかったです。今回はビジター利用しました。ここで想定外の事件発生!なんと身分証明証を忘れたO沼が入館出来ず早くも離脱!保険証ぐらい普段から持ち歩けよ・・・。

  3. やっぱり独特の雰囲気
    • ⇒更衣室で見かける人達の肉体が半端じゃ無い・・・着替えで脱ぐのを躊躇しました。あと、外国人とか、美意識の高そう(腹筋割れてそう)な女性トレーニーが多かったですね。でも、お年寄りや普通の体型の方も沢山いたので、居心地悪くはなかったですよ。

■使い勝手

僕は普段24hのジムにも通っているので、主にそれと比較した特徴が以下の通り。

  1. ガチなエリアほど混雑してる
    • ⇒月曜日、かつ台数は沢山あるにも関わらず、フリーウェイト・パワーラック・スミスマシンは待ちが出る状態。普通のジムでは有り得ない光景かと。思ったより広くも無かったし、トレーニング中にマッチョが後で待ってると、結構プレッシャーかも(笑)。

  2. 当然、マシンの種類は豊富
    • ⇒僕はラットプルダウンくらいしかやりませんでしたが、それだけでも3種類有ったかな?とにかくイカついマシンが沢山有って使い方が良く分からないので、所々に立っているトレーナーさんに聞くのが良いかも知れないですね。

  3. 付随設備もすごい
    • ⇒僕は当然入りませんでしたが、入口付近に確か半個室風のエリアが有って、「女性専用」と書いてありました。フリーウェイトとパワーラックだけでしたが、集中してやれそうで良いですね。それから別料金ですが、タンニングマシーンや岩盤浴も有って、やっぱり充実してますね。

■個人的おすすめPOINT

最後に、以下理由から、ゴールドジムに一度いってみる事をおススメします!

  1. なんと言っても、プロテインバー!
    • ⇒これが気になってたのも行きたかった理由の1つですが、皆口を揃えて「ウマい!」と言っておりました。入口の券売機で、グラム数毎にチケットを買って、バーでフレーバーを指定します。ほんと、超美味いですよ、これを飲むためだけに行っても良いくらいです。

  2. 雰囲気に影響されて、いつもより挙がる気がする
    • ⇒なんか、海外っぽい(海外のジム行った事ないけど)感じでスケールが違うし、みんな真剣にトレーニングしているので、嫌でもテンションは上がります。今回なぜかベンチプレスのMAXを更新出来たのも、雰囲気に影響されてノリと勢いが付いたからかも知れません。

  3. テラスのストレッチエリアがヤバい
    • ⇒渋谷店はプール付きの中庭があって、そこにせり出す形の屋外(テラス)にストレッチエリアがあります。渋谷の夜景を見降ろしながら、涼しくて、ラグジュアリーで、なんか最高です。S口はそこでいつの間にか寝てたらしいです。でも、気持ちは分かります・・・。

最後に

入口で集合写真(S口撮影)。

f:id:yasuaki-sakai:20170523130928j:plain

やっぱりみんなで行くと楽しいですよ。
※ここ以外は写真撮影禁止なので、気を付けて下さい!

 

書いた人:総務部 木村

f:id:yasuaki-sakai:20170501152213j:plain

え、タダで出来ちゃうの?無料のSSL証明書、「Let's Encrypt」をやってみた

こんにちは。初見さんいらっしゃい。

電縁で工数管理ツールInnoPMの販売、開発を担当している関口といいます。

あと最近副業で絵師を始めました。素敵な似顔絵をご希望な方はぜひ私まで。

 

f:id:yasuaki-sakai:20170518120858p:plainf:id:yasuaki-sakai:20170518120906p:plain

※こういうのです

 

すみません、番宣はさておき、今日は最近業務にて使用した「Let’s Encrypt」というものについてご紹介したいと思います。

 

目次:

1.Let’s Encryptとは?

2.オレオレ証明書と何が違うの?

3.さぁ、やってみよう!

4.おわりに

 

1.Let’s Encryptとは?

いきなり「Let’s Encrypt」と言われても、「さぁ、暗号化しようぜ!」くらいの情報しかわからないと思いますんで、最初にその説明をしていきます。

 

みなさんはSSLってご存知でしょうか?IT業界で働いている方なら、馴染み深いと思いますが、それ以外の方ですと、何それーって感じだと思いますので、簡単に説明をします。

 

SSLというのは通信規格の1つで、URLから見分ける基準としては

「s」が最後に付いているかというところが判断基準となります。

 

もう一つぱっと見でわかる基準としては、ネットサーフィンをしていて、URLの横にこんな鍵マークを見たことはありませんか?

f:id:yasuaki-sakai:20170518121245p:plain

これ、SSL通信をしているマークとなっていて、この表示になっているサイトへの通信は、暗号化してデータをやり取りしているということになります。

 

住所やパスワードのような、他人に知られたくない情報を入力する際に、この鍵マークが付いていないサイトだと、通信されたデータが暗号化されていないため、第三者(ハッカーやクラッカーなど)へ情報が漏れる可能性があるのです。。。

 

開発者がこのSSLを利用してWebサイトを作るためには、1年単位などでライセンスを取得し、その証明書を用いる必要があります。

 

その値段は暗号の強度や、証明している団体によって異なり、SSL業界で高い信頼を誇る「シマンテック」のSSL証明書は、安いもので1年で108,000円もするのです!企業が使うといえ、高いですね。。。

 

このSSL証明書を無料で発行してくれるサービスが、「Let’s Encrypt」というものなのです。つまり0円でSSLを利用出来ちゃうってことなんですね。

 

なんで無料でやってくれちゃうの?と思いますが、公式ページではこんな回答をしています。

Let's Encrypt は、認証局(CA)として「SSL/TLSサーバ証明書」を無料で発行するとともに、証明書の発行・インストール・更新のプロセスを自動化することにより、TLSHTTPSTLSプロトコルによって提供されるセキュアな接続の上でのHTTP通信)を普及させることを目的としているプロジェクトです。

非営利団体ISRG (Internet Security Research Group) が運営しており、シスコ(Cisco Systems)、Akamai電子フロンティア財団(Electronic Frontier Foundation)、モジラ財団(Mozilla Foundation)などの大手企業・団体が、ISRG のスポンサーとして Let's Encrypt を支援しています。

 まとめると、SSLを用いた通信を普及させることを目的とし、様々な企業・団体が支援して成り立っているプロジェクトなようです。

 

2.オレオレ証明書と何が違うの?

この章では開発者には馴染みの深い、「オレオレ証明書」との違いについて説明します。

開発者でない方はSkipしていただければと思います!

 

オレオレ証明書は、自己署名証明書とも呼ばれ、その名の通り第三者ではなく自分が安全性を保証してSSL証明書を発行するものになります。

 

本来、SSL通信の仕組みは下の図のような形で行われています。

f:id:yasuaki-sakai:20170518120939p:plain

オレオレ証明書というのは、この③で登場する認証局の役割も自分で担ってしまうという通信です。

 

例えばAさんがBさんに何か暗号を送ったときに、その鍵の中身をBさんが確認したら「この暗号が正しいかどうかは私(Aさん)に聞いてください」と書いてあるとすると、何が正しいのか何も確認できなくなっていまいますよね。

 

そんな感じで、オレオレ証明書正当性が確認できない証明書というものになります。

 

この証明書でもSSL通信を実現することが可能だったのですが、最近のブラウザはセキュリティのレベルが上がっているため、ほとんどのブラウザで「接続の安全性を確認できません」と表示され、接続が出来なくなってしまいます

 

対して「Let's Encrypt」を用いてSSLを証明書を発行すると、証明元が存在し、かつGoogleやMozzila(Firefox)などから認定を受けた正当な証明元なので、ブラウザで安全に接続され、通信を行うことが出来るようになります。

 

これがオレオレ証明書とLet's Encryptの大きな違いと言えるでしょう。

 

3.さぁ、やってみよう!

さて、ここからは実践編です。

まず今回、実行した環境は以下です。

 

作業手順としてはこんな感じ

  1. certbotのインストール
  2. certbot-autoコマンドを叩く
  3. apacheの設定変更
  4. SSL自動更新の設定

 

certbotのインストール

 certbotとはLet’sEncryptが提供する、クライアントソフトウェアで、これを使えばSSL証明書の取得・更新作業を自動化出来るようになっています。

今回はこれを使ってサイトのSSL化をしていくので、まずはcertbotをインストールします。

# curlで叩いてパスの通るところへ
$ sudo curl https://dl.eff.org/certbot-auto -o /usr/bin/certbot-auto

# 権限付与
$ sudo chmod 700 /usr/bin/certbot-auto

 

certbot-autoコマンドを叩く

 certbotのインストールが完了したら、今度は証明書を発行するために、certbot-autoコマンドを叩いていきます。

# certbot-autoコマンドの詳細
$ sudo certbot-auto certonly \   # 証明書の作成
    --webroot \                  # 既存のウェブサーバを使うモードを選択
    -w /var/www/hoge\            # ドキュメント・ルートのパス
    -d denen.com      \          # 認証するドメイン名
    --email <メール>@<アドレス>  # メールアドレス登録 (証明書期限切れの通知用)

f:id:yasuaki-sakai:20170518121315j:plain

そうするとこんな感じの画面が出てくるので、「agree」を選択。

その後、証明書の発行が始まります。

 

証明書が発行されると、

/etc/letsencrypt/live に置かれます。

$ sudo ll /etc/letsencrypt/live/

drwxr-xr-x 2 root root 4096  424 15:29 2017 hoge.com    # ドメイン別でdirが出来る
drwxr-xr-x 2 root root 4096  415 20:34 2017 denen.com

中身はこんな感じになっていて、リンクが貼られている形となっています。

$ sudo ll /etc/letsencrypt/live/
lrwxrwxrwx 1 root root  36  326 15:00 2017 cert.pem -> ../../archive/hoge.com/cert1.pem
lrwxrwxrwx 1 root root  37  326 15:00 2017 chain.pem -> ../../archive/hoge.com/chain1.pem
lrwxrwxrwx 1 root root  41  326 15:00 2017 fullchain.pem -> ../../archive/hoge.com/fullchain1.pem
lrwxrwxrwx 1 root root  39  326 15:00 2017 privkey.pem -> ../../archive/hoge.com/privkey1.pem

 

apacheの設定変更

 続いてSSL化するサイトに証明書を読み込ませます。

# 通常の記載については省略します。
$ sudo vim /etc/httpd/conf.d/hoge.conf
SSLCertificateFile /etc/letsencrypt/live/hoge.com/cert.pem    # SSLサーバー証明書ファイルの指定
SSLCertificateKeyFile /etc/letsencrypt/live/hoge.com/privkey.pem    # SSLサーバー証明書とペアになる秘密鍵の指定
SSLCertificateChainFile /etc/letsencrypt/live/hoge.com/fullchain.pem    # 中間証明書ファイルの指定

$ sudo service httpd restart # apacheの再起動

これにてSSLの設定は完了です。

 

SSL自動更新の設定

 Let'sEncryptは無料でとても良いサービスなのですが、証明書の有効期限が90日で切れてしまいます。

ただ、証明書の更新を行えばその期限は持続されるので、最後にその自動化を行っていきます。

自動化は簡単で、開発者であればおなじみのcronコマンドを使えばOKです。

# 毎月1日の午前4時に自動更新をするcron登録
$ sudo crontab -e
00 04 01 * * /usr/bin/certbot-auto renew --force-renew && service httpd restart    # certbot-auto で証明書を更新し、apacheを再起動

このcronを登録すれば、自動更新の設定は完了です。

 

4.おわりに

個人的に、久々にBlogを書きましたがやっぱり大変ですね。。。

もうやりたくないです。(笑)

うそです、次はどんな記事を書こうかなぁ~(棒読み

 

そんな感じで次の方、よろしくお願いしまーす!!!

 

書いた人:なんちゃってエンジニア 関口

f:id:yasuaki-sakai:20170518120952p:plain

お台場オクトーバーフェスト2017 〜SPRING〜

 

f:id:yasuaki-sakai:20170518122454j:plain

こんにちは、ドイツビール大好き 吉田です。
先日、お台場で開催されたオクトーバーフェストに、会社の仲間たちと行ってきたのでそのレポートをしたいと思います。

オクトーバーフェストとは

みなさん、オクトーバーフェストってご存知でしょうか?
ドイツで毎年10月に開催されるビールのお祭りの事です。
それがいつからか日本ではとりあえず外でビールを飲んで騒ぐイベントになっているようです。
詳しくはこの後のレポートをご覧下さい。

■会場

今回の会場はお台場のシンボルプロムナード公園 セントラル広場でした。
入り口はこんな感じです。

f:id:yasuaki-sakai:20170518122750j:plain

この日はとても天気が良く、最高気温25℃とまさにビール日和でした!

一歩中に入ると飲食のブースが会場を取り囲んでおり、早速お腹が空いてきます。
ただ、ここでまずやらなければならないのは場所取りです。
特に暑い日は日陰に人が集まるので、日陰の席を確保しましょう。
私たちは無事ステージ近くの席を確保することに成功しました!

f:id:yasuaki-sakai:20170518123015j:plain

■ビール

せっかくなので飲んだビールを少しだけご紹介します。

アインガー プロイヴァイス

f:id:yasuaki-sakai:20170518123404j:plain

「ビロードのような飲みくち、シトラスのあと味」との紹介がされています。

小麦で作られたヴァイスビアなので、ビールが苦手な方でも飲みやすいです。

しかもオクトーバーフェスト会場以外ではまず飲めないので、レア度高いです!

 

シュパルター ドゥンケル

f:id:yasuaki-sakai:20170518123846j:plain

「数量限定!円熟のバイエルンダークビア」

こちらはドゥンケルという黒ビールに近いビールです。

ローストされた香りが鼻に広がってグイグイいけちゃいます。

こちらも会場以外ではなかなか飲めないレアビールですよ!

■ショー

さて、オクトーバーフェストにはビール以外にもお楽しみが有ります。

それが数時間に1回行われるショーになります。

日本人のお祭り好きの血が騒ぐのか、それかただの酔っ払いかはわかりませんが、毎回とても盛り上がっています。

f:id:yasuaki-sakai:20170518124403j:plain

演奏の途中には乾杯の儀式があり、隣の席の人と「プロースト!」と乾杯するとよりビールが美味しくなりますよ!

■まとめ

と言うわけでオクトーバーフェストの紹介でした。

今年は他の会場にも顔を出すと思うので、その時はまたレポートさせてもらいます。

ドイツビール最高!

 

書いた人:デジタルサイネージチーム 吉田

f:id:yasuaki-sakai:20170405150919p:plain

技術研修会のご紹介

押忍、4年目の土田です。
大学時代の部活での挨拶が「押忍」でした。モータースポーツなのに。

さて、さっそくですが、今回は弊社で実施している
技術研修会というものをご紹介してみたいと思います。

■技術研修会

f:id:yasuaki-sakai:20170510100743j:plain

弊社では2年程前から有志による技術研修会を実施しています。

IT技術に関する学習内容の発表の場として、定時後に実施しており、業務外の任意参加ですが、参加者は毎回10名を超えます。これまでに若手からベテラン社員まで様々なメンバーがこの会で発表してきました。

この会はただ発表するだけでなく、その都度質疑応答や意見交換、議論等の交流が行われます。
この交流はとても重要で、発表内容だけでなく関連する情報や知識を大量に得ることが出来ます。

その為、この交流を盛り上げるための取り組みとして、お酒や軽食を用意しています。
アルコールの力を借りて、年齢や階級に囚われず、気軽に意見交換や議論を行うことが出来ます。

ハッカソン

f:id:yasuaki-sakai:20170510100821j:plain

また、この技術研修会の取り組みの一環で、昨年12月にハッカソンも実施しました。

ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とは
ソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが
集中的に作業をするソフトウェア関連プロジェクトのイベントである。(by Wikipedia

このハッカソンについては、また別の機会にご紹介させて頂きますが、
今回のハッカソンでは、IoTと人工知能機械学習、深層学習をテーマに実施しました。

普段の業務で扱わないような技術に関しても積極的に学び、
実際に使ってみることで理解を深めています。

また、今回の開催では技術の理解だけでなく、
社員同士の技術的な交流(スキルや考え方)を行う良い機会になりました。

■おまけ

f:id:yasuaki-sakai:20170510100850p:plain

筆者が発表時に披露したデモで遊ぶ若手社員あんちゅう君

■最後に

以上が技術研修会(とハッカソン)のご紹介となります。

個人的な意見ですが、IT業界は時期や案件状況により、偏った業務ばかりという状況になりがちだと思います。
また、ITは新しいものが次々に生まれていく為、取り残されがちです。

こういった悩みや問題を少しでもサポートできればと思いますので、
積極的にこの会の主催を続けていきたいと思います。

そして、最終的にはこの技術研修会から、
弊社が取り組む「ブロックチェーン」のような新たな挑戦が生まれたら良いなと思います。

書いた人:テレコム第2チーム 土田

f:id:yasuaki-sakai:20170510154111j:plain

筋トレ日記 その1

f:id:yasuaki-sakai:20170508105743j:plain

 
こんにちは。きむらです。今日は、僕が最近ハマってる趣味を紹介します!
それは、ケガのリハビリがきっかけで初めた、「筋トレ(フィットネス)」です。
 
「きも・・・」っていう人は飛ばしてね!
 
 
■個人的に楽しいポイントは、以下の通り。
 
1. 割と早く体が変わる
 ⇒正しいやり方を教われば、3ヶ月位で身体のシルエットが変わります。筋肉はそんなに簡単に付きませんが、引き締まって、姿勢も良くなります。
 
2. トレーナーが褒めて(&厳しくして)くれるw
 ⇒自分はパーソナルで習っているからですが、誰かとやると楽しいですね。「もう無理」って所まで追い詰めてくれるし。すいません、どMで。
 
3. 根拠の無い自信が付く 
 ⇒・・・なんかいつもスッキリした気持ちになって、悩みとかが減ったかも?実際、メンタルにも効果が有るらしいっす。
 
 
■続けられない人は、筋トレyoutuberでモチベUP。
 
結構居るの知ってますか?
 
僕はKanekin派です。ハーフでおしゃれでいい奴っぽい。そして友達が美人ばかり。
 
筋トレっていうとボディビルを想像して、「無理」ってなりますが
フィジークとかベストボディっていう最近のを見るとイメージが変わります。
 
女性は、特に海外の動画を見ると、フィットネス文化の違いにびっくりするはず。
 
 
■何やれば分からない人は、”BIG3”が最も効率的らしいよ。
 
1.ベンチプレス
 ⇒主に胸。男性だと、やっぱりこれだよねって感じ!
 
2.スクワット
 ⇒主に足。全身使うのでダイエット効果が一番高い!
 
 ⇒主に背中。自己流だと腰悪くするので注意してね!
 

って事で、トレーナーにスクワットを後から撮ってもらいました。

f:id:yasuaki-sakai:20170501152206j:plain

 

フィットネス仲間募集中なので、興味ある方は是非~。
 
 
書いた人:総務部 木村
f:id:yasuaki-sakai:20170501152213j:plain

仕事よりも本気!?電縁の部活動を紹介!!

f:id:yasuaki-sakai:20170502100056j:plain

 
どうも、5年目の飲み会大好き内山です。
 今回は弊社の福利厚生の1つとして部活動について紹介したいと思います。
 

部活動制度

弊社には部活動制度があり、承認された部活は1回の活動につき
1人あたり3,000円まで活動費をサポートしてもらえるという制度です。
 
現在、フットサル部、ダーツ部、そして今年から野球部と3つの部活があり、
どれも部員数20人前後のため単純計算すると社員の半分くらいが
何かしらの部に属してることになります。
 
ちなみに私はフットサル部、ダーツ部に所属してます。
 
だいたいどちらも月1回の活動で部署・チーム問わず色々な人でわいわいやってます。
 
フットサル部は年1回出場チームが200チーム程の健康保険組合の大会に出たりして、会社の宣伝塔となるべく頑張ってます!
 
ダーツ部もいずれは大会で目立てるようになりたいこの頃です。
 

部活動の面白いところ

さて、部活動の面白いところは
・業務では関わってないメンバーと一緒にやる
・上下関係とか気にしない
・健康増進
といったところだと思います。
 
やっぱり、業務だけだといつも顔合わせるのが同じメンバーになりがちなんですよね。
勤務場所も所属チームによってそれぞれだし。
それなりに社員いるので名前は聞いたことあるけど・・・って人が実際います。
会社は家族!とは言いませんが、せっかく同じ組織体にいるので関わりは持ちたいと個人的に思います。
部活動をやっていると業務とは違う人が集まり、そのまま飲みに行ったりと交流の場になるので
他の機会で会ったときも気軽に会話ができて楽しいものです。
 
フットサル部とダーツ部だと顔ぶれが違って面白いもんです。
  
また、部活動では上下関係とか一切ありません。社風としてそもそもゆるい方だと思いますが。笑
どの部も上級者から初心者まで色々混じってやってます。
上司だから気を使うなんてことはなく対等です。
熱く勝負をし。一緒にわーっと楽しみ、上手いと新人でもヒーローになれるのが
部活動の良さだと思います。
 

最後に

身体を動かせばもちろん健康的ですね!
オフィスワークがメインとなるため習慣的に身体を動かす機会があるのは良いものです。
強靭な精神は強靭な肉体から。日頃から身体を動かして仕事も遊びもバリバリやりましょう!
ダーツ部だってしっかりしたスポーツですからね!
 

f:id:yasuaki-sakai:20170502100302j:plain

 
意外と身近に共通の趣味を持った人間がいるかも?
たまには仕事と飲み以外でも!
そういう出会いの場を提供してくれるのが部活動です。
 
部活動は会社の補助で遊べるというオトクな制度であると同時に、
こんなメリットがあるのでぜひ利用しましょう!
 
今度は技術的な真面目なやつでも書こうと思います!
では、次の人どうぞ〜
 
書いた人:飲み会大好き 内山

f:id:yasuaki-sakai:20170502104218j:plain

社長室の本棚

こんにちは。
今回担当になりました、電縁 テレコム第2チームのサクマです。

 

初めての投稿ということで、何か楽しいネタを…と考え、社長室に乗り込むことにしました。

 

弊社の社長室には大小たくさんの本棚がありまして、社長の蔵書がぎっしりと詰まっているのです。
本好きの私としてはやはり他人の本棚は気になるものです。やはり経営についての本が多いのでしょうか?それともIT関連?
社長室の本棚を眺めながら、社長と本の話題に花を咲かせてブログのネタにしようという作戦です。完璧!

 

「社長!blog記事のネタにするので本棚の写真撮らせてください!」

「あぁ、いいよ。」

 

と、あっさりOKをもらって、撮ってきた写真がこちらとなります。

f:id:yasuaki-sakai:20170430211051j:plain

 

やばい。知らない本ばっかりでまったく話ができない(汗)。

 

えーと、ヨーロッパ近現代史が好きだということはギリギリわかりました…


写真には写っていないのですが、ヨーロッパ近現代史関連の名作をそろえつつ、背景資料としてヨーロッパの中世史や宗教、ヨーロッパと関連する諸地域あたりもおさえていて、たぶんそうだと思うのだけれど、私に歴史の教養がなさすぎてまったく本の話ができない…というか、明らかにIT業界の社長室の本棚ではない。

 

社長と本について語ろうと意気揚々と乗り込んだものの、全く本棚の内容についていけず、自分の無知に打ちのめされたというお話でした…。
(でも「銃・病原菌・鉄」は興味あるので今度借りようと思います。)

 

駄文におつきあいいただきありがとうございました。次の方にパスします。

 

書いた人:テレコム第2チーム サクマ

f:id:yasuaki-sakai:20170430233914j:plain

 

EthereumにPHPから接続してみた(追記あり)

f:id:yasuaki-sakai:20170405150908j:plain
こんにちは、Denen Blogへようこそ。
株式会社電縁で主にデジタルサイネージ業務を担当している吉田です。

弊社では去年から、ブロックチェーン(Blockchain)事業に取り組んでいます。
直近では Ethereum を使い PHP と連携しましたので、そこら辺のお話をしようかなと思います。

※補足を書きましたのでそちらもご覧下さい。
denen.hatenablog.com


<前提>

<トピック>

  1. 環境
  2. Ethereum の導入
  3. JSON-RPC 呼び出しの準備
  4. PHP からのアクセス

1. 環境

今回は Ubuntu 14.04 LTS を利用します。
OS をインストール後、お決まりのコマンドを叩きます。

$ sudo apt-get update
$ sudo apt-get upgrade

その後 SSH, iptables, ntp などのセットアップをしました。
続いて Apache + PHP です。
PHP のバージョンは 5.5 になります。

$ sudo apt-get install php5 libapache2-mod-php5 php5-curl

2. Ethereum の導入

今回は GO 言語製の Ethereum ノード、 go-ethereum 通称 geth を使用します。
導入にはこちら(http://techmedia-think.hatenablog.com/entry/2016/04/22/190810)を参考にさせていただきました。

まずはリポジトリを追加しましょう。

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo add-apt-repository -y ppa:ethereum/ethereum-dev

ここまで来たら後はインストールを行うだけです。

$ sudo apt-get update
$ sudo apt-get install ethereum

インストールが完了したら早速 geth を起動させてみましょう。
まずはデータディレクトリを作成し、最初のブロック(ジェネシスブロック)の設定を記述します。

$ mkdir ~/eth_private_net
$ vim ~/eth_private_net/my_genesis.json

{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x0",
"gasLimit": "0xffffffff",
"difficulty": "0x4000",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": {}
}

続いてジェネシスブロックを生成し、 geth を起動します。

$ geth --datadir "/home/yoshida/eth_private_net" init /home/yoshida/eth_private_net/my_genesis.json
$ geth --networkid 57598955 --port 8955 --nodiscover --datadir "/home/yoshida/eth_private_net" console 2>> /home/yoshida/eth_private_net/geth_err.log

これでコンソールモードになったら起動は成功です。
オプションがいくつか指定されていますが、説明は以下にまとめました。

--networkid
これが共通のノードしか接続されません
--port
待ち受けに使用するポートです。電話番号下4桁にしてみました。
--nodiscover
ノードを自動で探しに行かないようにする設定です。
--datadir
ブロック等のデータが格納されるディレクトリを指定します。
console
起動と同時にコンソールを立ち上げます。

さて、続いては PHP からの呼び出しですが、その前に geth 側でもうちょっと準備を整えましょう。

3. JSON-RPC 呼び出しの準備

PHP からは JSON-RPC を経由してアクセスします。
ここではそこら辺の設定を行っていきます。

まずは現在のアカウント情報を取得します。
※先ほど起動した geth のコンソールを使用します。

> eth.accounts
[]

まだアカウントが作成されていないので作成します。

> personal.newAccount("password")
"0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b"
> eth.accounts
["0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b"]

これでアカウントが作成されました。
せっかくなので、マイニングを行った時の報酬を受け取れるように設定しておきましょう。

> miner.setEtherbase(eth.accounts[0])

続いて、現在のノードは RPC 呼び出しを許可していないので、オプションを追加して起動しなおしましょう。
まずはいったん geth を終了させます。

> exit

それではオプションを追加して再度起動しましょう

$ geth --networkid 57598955 --port 8955 --nodiscover --rpc --rpcaddr "0.0.0.0" --rpcport "8956" --rpccorsdomain "*" --rpcapi "eth,net,web3,personal" --datadir "/home/yoshida/eth_private_net" console 2>> /home/yoshida/eth_private_net/geth_err.log

頭に rpc と付いたオプションがいくつか付加されましたね。
説明は以下になります。

--rpc
RPC 待ち受けを許可する
--rpcaddr
RPC 待ち受けに使用するIPアドレス
--rpcport
RPC 待ち受けをするポート。FAX番号下4桁にしてみました。
--rpccorsdomain
RPC へのアクセスを許可するドメインです。"*"だと全て許可するのでノードを公開する際は注意してください。

これでノード側の準備は整いました。
次は PHP からの呼び出しになります。

4. PHP からのアクセス

いよいよ PHP からのアクセスを行うわけですが、ベタ書きするとなかなか大変なのでこちら(https://github.com/btelle/ethereum-php)を利用させてもらいます。
使い方は README にも書いてある通り、 require してクラスを生成するだけです。
今回はテスト用のスクリプトと同じディレクトリに配置して利用してみましょう。

$ cd /home/yoshida/php-eth/
$ ls -l
ethereum.php json-rpc.php
$ vim test.php
<?php

require_once 'ethereum.php';
$ethereum = new Ethereum('localhost', '8956');
print_r($ethereum->eth_accounts());

このスクリプトを実行してみると、以下のようにアカウントのリストが取得出来たかと思います。

$ php test.php
Array
(
[0] => 0xb83fa0d1c6b34a42f900cca5a32400c3b6f69f4b
)

もし接続できない場合はポートの設定などを確認してみましょう。

以上、駆け足で説明しましたが、PHPとの連携も意外と簡単に感じていただけたのではないでしょうか?
スマートコントラクトが絡んでくると少し複雑になってくるのですが、それはまた改めて記事に出来ればと思います。

それでは次の方、よろしくお願いします!

書いた人:デジタルサイネージチーム 吉田
f:id:yasuaki-sakai:20170405150919p:plain