読者です 読者をやめる 読者になる 読者になる

OSCAの技術ブログ

WEBエンジニアの技術ブログです。 日々の制作活動・業務の中で調査したことなどを記事にします。

僕の周りで今週話題になった技術的なこと (2017年04月 4週)

今週は期初ということもありマネージメントの作業の割合が多く、あまり技術的なことはできませんでしたが、周りで話題になった話題を残したいと思います。

WordPressの管理画面へのアクセスを制限する

 WordPress に限った話ではないですが、パッケージソフトウェアは管理画面のURLがバレているので、誰でも管理者ログイン画面のURLを推測してアクセスができてしまいます。 セキュリティとして良くないのは言うまでもなく、どうにかできないかという相談をされました。  今回は「IPアドレス制限」「クライアント証明書認証」「基本認証/ダイジェスト認証」の3つの方法を回答として用意し、せっかくなので回答をインターネットの記事にしてお知らせしました。 weblabo.oscasierra.net

少年ジャンプアプリ開発コンテスト

 少年ジャンプのアプリ開発コンテストが開催されることが集英社から発表されました。 個人で応募できる「アイデア部門」と、法人で応募できる「開発企画部門」の2つの応募が開始されています。 個人の場合は最高で10万円の賞金、法人の場合は最大で5,000万円の開発費が支払われるとのことで、何かアイデアが思い浮かんだ際には応募してみたいなと思っています。

少年ジャンプアプリ開発コンテスト

サーバントリーダーシップ

 期初ということもあり、「目標」だとか「評価」だということに意識が向きます。 自分自身も「マネージメント」「リーダーシップ」の点で気をつけたいことなどを考えるのですが、そんな時に頭によぎるのは「サーバントリーダーシップ」という単語です。 サーバントリーダーシップとは、「リーダーである人は、まず相手に奉仕し、その後相手を導くものである」というリーダーシップ哲学です。 そんな「サーバントリーダーシップ」について、エンジニア向けPodcast「Rebuild.fm」のエピソード123で伊藤直也さんが語られていたのをいつも思い出します。 このエピソードでは、Fate/Zero というアニメのエピソードを交えて語られています。 rebuild.fm

 詳しくは Rebuild.fm のエピソードを聴いてもらった方が良いのですが、サーバントリーダーシップにおいて「メンバーに奉仕」してばかりの結果、チームのビジョンが定まらず(共有されず)、メンバーを導けないただの「いい兄貴」になってしまうことに気をつけたいと思わされます。

おわりに

 06月02日に WEB エンジニアを対象としたオープンで、かつ初心者でも参加できるような勉強会を開催しようと考えています。 全く始めての取組みなので右往左往をしています。 5月に入ったら connpass を利用して参加者を募ろうと考えておりますので、その際には是非登録して頂きご参加頂ければ幸いです。

 また、技術以外のことですが「長野県諏訪市 立石公園から観る素晴らしい夜景」という夜景の記事も書きましたので、ご興味がありましたらご覧ください。

僕の周りで今週話題になった技術的なこと (2017年04月 3週)

 今週も僕の周りで話題になった技術的なことについて、備忘録も兼ねて残します。 少しでも皆さんの興味の琴線に触れるような事になれば幸いです。

Let’s Encrypt

 ホームページにSSLを導入するお手伝いをしました。 そのホームページでは Let’s Encrypt を利用して無償の証明書を発行し、Apache httpd に設定しました。 Let’s Encrypt で発行できる証明書はドメイン認証証明書(DV証明書)となりますが、今回はそれ以上の証明書にする必要がなかったので Let’s Encrypt を利用しました。

 僕自身も、個人で運営しているサービスで Let’s Encrypt を利用していますが、利用を開始したのが Public Beta の頃で、今回改めて Let’s Encrypt を利用しようとしたところ、コマンドが変更されていました。 自動化されたDV証明書の発行プロセスに対応した Certbot というプログラムを利用するように変更されており(以前は letsencrypt-auto などのコマンドを利用した)、DV証明書発行の自動化プロセスが標準化された流れを感じました。

 今回実施した Let’s Encrypt の導入手順は、次のページにまとめてあります。

weblabo.oscasierra.net

Adobe Photoshop VoCo

 僕のプロジェクトで、雑談の中で Adobe Photoshop VoCo が話題になりました。 Adobe Photoshop VoCo は、昨年の Adobe のイベント「Adobe Max 2016」で発表されたソフトウェアです。

 Adobe Photoshop VoCo は、20分程度の音声データを元に(教師データとして)、自由に言葉を喋らせることができるテクノロジーを搭載したソフトウェアです。 司会者の音声データを元に、入力したテキストを喋らせるデモを行っていました。 SF映画などで「声を他人のものに替えて電話する・声紋認証する」的なシーンが登場することがありますが、まさに現実の世界でそれが実現可能になろうとしています。 真っ当な使い方としては、ラジオ番組・Podcastがテキストから作成できるように感じました。

発表の動画が YouTube にアップロードされているので、是非観て下さい。

ZOOM

 リモートのメンバーと打合せをするために、ZOOMというビデオ会議サービスを利用しました。 私の周りの雰囲気でしかないですが「Skype から ZOOM に乗り換えた」「会社の会議では ZOOM を利用している」という話題が増えてきた感じがしていたので、前から気になっていました。

 ZOOM の特徴としては、他のビデオ会議サービスよりも動画や音声の圧縮率が高く、データ通信量が少ないことが言われています。 実際にデータ通信量が少ないのかは普通に利用しただけでは分かりませんでしたが、音声・動画ともにとても快調でした。 MacBook Pro 標準のカメラとマイクで会議をしましたが、相手からも「快調だ」という感想がありました。

 また今回のテレビ会議では、スクリーンの共有機能を利用してみましたが、これもまた、パソコンのデスクトップとカーソルがとても快適に、画面のレンダリング間隔が気になることもなく(カクカクしたりカーソルが飛んだりすることもない)、まったくストレスを感じることがありませんでした。

 しばらく ZOOM を利用してみようと思っています。

おわりに

 06月02日に WEB エンジニアを対象としたオープンで、かつ初心者でも参加できるような勉強会を開催しようと考えています。 全く始めての取組みなので右往左往をしています。 5月に入ったら connpass を利用して参加者を募ろうと考えておりますので、その際には是非登録して頂きご参加頂ければ幸いです。

僕の周りで今週話題になった技術的なこと (2017年04月 2週)

Google社内の標準言語としてTypeScriptが承認される

 4月5日から3日間、米国ソルトレイクシティで開催された JavaScript ライブラリ「Angular」のイベント「ng-conf 2017」の基調講演の中で、Google 社内の標準言語として TypeScript が承認されたというニュースが、僕のチームの中で話題になりました。

 TypeScript は、AltJS な言語で、同じく AltJS の CoffeeScript などと一緒に人気がある言語。 と、あたかも普段使っているかのようだけど、SIerである僕の周りを見渡しても実際の業務で利用したことがある人がいませんでした。 もっとフロント界隈では当たり前のように利用されているのでしょうか? AltJS に関して、業界内の温度感がイマイチ良くわかっていません。

 先進的な技術に感度の高いチームメンバーからは、「TypeScript は初期教育コストがかかりそうだ」という感想もあった一方で「覚えれば JavaScript への理解も深まるのではないか」という声も聞こえました。

Infrastructure as Code

 ちょっとしたきっかけで、2013〜2015年にバズワード的に盛り上がった Infrastracture as CodeImmutable Infrastructure のことを復習する必要がありました。 当時、伊藤直也さん(@naoya_ito)界隈の方々が火付け役となって様々な発表や勉強会が行われいたことを記憶していて、僕も伊藤直也さんウォッチャーとなっていました。

 当時の伊藤直也さんのプレゼンテーションをイベントごとに時系列に並べて読み返してみたのですが、最近のプレゼンテーションになるにつれて考えが洗礼されてきていて、最終的には、2016年07月07日に開催された「リクルートテクノロジーズオープンラボ 第三回」のプレゼンテーションが一番まとまっていました。 YouTube でプレゼンテーションを動画で観ることができますので、興味のある方は観ると良いでしょう。

スノーデン事件

 お客様から「最近は全てのページをHTTPSで構成する風潮があるみたいだけど、そういうもん?」という質問を受けました。 結論的には「そういうもん」ということなのですが、その理由も軽く説明しました。

 Googleが「HTTPのページよりもHTTPSのページの方を評価する」と言っているからというSEO的な側面ももちろんありますが、もっと本質的なキッカケとなったのは、エドワード・スノーデン氏が起こした2013年のスノーデン事件だと僕は理解しています。 スノーデン事件により通信の暗号化に関する流れが加速し、その流れの中で無償でSSL証明書を発行する Let’s Encrypt のプロジェクトなどが立ち上がりました。

 スノーデン事件を知っていることで、アメリカの政府系機関が Apple や Twitter などと個人情報の提供を巡ってバトルする近年の案件を、より深い視点で見れると思っています。

おわりに

 6月上旬くらいに、都内で誰でも参加できるオープンなWEBエンジニア勉強会を開催してみたいと思っています。 もう少し詳細が詰まったらお知らせしたいと思っています。

僕の周りで今週話題になった技術的なこと (2017年04月 1週)

僕の周りで今週話題になった技術的なことをざっくばらんに残します。

jQuery UI におけるクロスサイトスクリプティングの脆弱性 (JVNDB-2016-007993)

 4月6日、脆弱性対策情報データベースに「jQuery UI におけるクロスサイトスクリプティングの脆弱性」 (JVNDB-2016-007993) が追加されたため、関わっているプロジェクトで対策がありました。 概要としては、jQuery UI 1.20.0 未満に脆弱性があるから最新版へのアップデートが必要だというもの。 しかし jQuery UI は jQuery に依存しているため、jQuery のバージョンアップも同時に必要かも調査が行われました。

 しかしこの脆弱性自体は昨年度に周知されており、脆弱性対策情報データベースに追加されたのが今週というだけですので、結果的にその間無防備な状態になってしまっていました。 理想としては、利用しているライブラリの公式サイトやGitHubなどの情報を随時確認するのが良いのでしょうが、運用的に随時それをウォッチし続けるというのも難しいですね。 まぁ、しかし重大な脆弱性を放置することもできませんので、なんらかの仕組みの導入を考えさせられます。

参考サイト

納品物をメディアに焼いて納品する文化

 年度末・年度始まりというタイミングもあって、ソースコードや設計書の電子データを納品して頂く場面がありました。 会社の今までの慣習にのっとり、パートナー企業さんにCD-Rで納品していただいたのですが、「このCD-Rは果たして意味があるのか?」と違和感を覚えたことをプロジェクトのメンバーと共有しました。

 CD-R での納品に違和感を感じた大きな背景には、「システム開発」を取り巻く環境が大きく変わったからだと考えます。

  • 設計書やソースコードは Git などのソースコード管理ツールで管理されるようになった。
  • Git のリポジトリは、開発会社だけではなく、我々発注側からも見れている。
  • 制作しているシステムの特性上、納品されたシステムもすぐに機能の追加・変更が行われる。

 設計書やソースコードがコミットされた Git リポジトリは、開発会社だけではなく発注側の我々もいつでも閲覧できる状態にあったため、「メディアに焼く」とかいう以前に、Zipなどで固めて送ってもらうことすら必要なく、我々が Git のリポジトリを覗きに行けばよいという状態でした。

 また、開発会社に発注したシステムは、納品されたあともすぐに別の機能の追加や変更がおこなわれるため、その瞬間のスナップショットの"賞味期限"がとても短いものでした。

 以上のことから、今後は「納品物は全て Git にコミットしてあること」さえ担保できていれば、メディアでの納品は必要ないなと思ったのでした。 (ただし私が会社の慣習を変えられるかは別の問題です)

おわりに

 公に共有できる今週の技術的な話題はこんなところです。 あとは見積りやらリソース管理やらに追われていました・・・。 さて週末です、新しい MacBook Pro に Docker for Mac にインストールしようかな。 あっ、でもその前に請求書の作業・・・。 ではでは。

OSCA

初級WEBプログラマー。 Java, PHP を利用したアプリケーションを開発しています。 写真も好きで一眼レフを持って散歩するのが好き。

ホームページ