« 2015年10月 | メイン | 2015年12月 »

2015年11月

2015年11月27日 (金)

HerokuのRouting機能はErlangでできている。

どうも。 最近、ブログを書こうにも動作検証の時間が取れずに困っていた、おっぴーです。

ということで、なにか良いネタはないかなぁ、と思っていろいろ探していたところ、Herokuのプラットフォームからフリーソフトウェアが生まれたことを発見、というか気付きました。

動作確認などはできていないのですが、PaaSの裏側をつくる仕組みとして興味がそそられる方もいるんじゃないか、と思いましたので、ここで紹介いたします。 (少しは動かせよ、という話ですが。。。)

フリーソフトウェアの名前は、Vegur(ベーグル、に近い発音のようです)といい、アイスランド語で道という意味らしいです(たぶん。 CowboyというErlangで書かれた軽量のWebサーバーをベースに開発されており、VegurもErlangで実装されています。

長年、HerokuのRouting機能をになってきたと同時に、最近、新しく発表されたHeroku PrivateSpacesにも利用されている技術であるとのことです。 たしかに、弊社のブログを遡っていると、もともとHerokuにアクセスしたときのレスポンス時のHeaderにもVegurという文字列が含まれておりました

HTTP/2(SPDY)やQUICなど新しいプロトコルには対応していないようですが、これからHerokuのサービスが向上してゆくごとに進化していってくれると思われます。 このほかできることのすべては、HerokuのDevCenterに記載されている、と説明されており、 ちゃんとDevCenterでドキュメント化をすすめているHerokuさんの面目躍如、と言った感じでしょうか。

Herokuはこうした基盤まわりではErlangのヘビーユーザーでもあるらしく、Erlangの勉強をされたい方もプロダクトとして目を通しておくのも良いのではないかと思います。

今回は、時間がないのでこの辺で。

  • 参考情報
  • https://engineering.heroku.com/blogs/2015-10-21-vegur-free-software/

2015年11月26日 (木)

Herokuサポートのご紹介

こんにちは、最近米俵2俵のお米の重みを体感した浅野です。

Herokuサポート、なかなか利用する機会がなくてどんなものか情報が少ないですよね。 (私自身も今回のプロジェクトで初めて使いました) ということで、簡単にどんなことができるかを紹介していきます。

エンタープライズ契約で使っているアカウントなので、個人でHerokuを使っている方と表示されているものが違うかもしれません。

サポート依頼はどこから出せるの?

  1. Herokuのトップページのメニューから「Support」を選択し、Supportページを開きます。
  2. 次に、「Get help now」を選択し、 Helpページを表示します。

Supportindex_2


これで、サポートのトップ画面が表示されます。このページの「Open a ticket」からサポートチケットを起票できます。 とはいえ、HerokuはDevCenterの情報が充実しているので、まずDevCenterの情報を確認してください。(DevCenterに書いている情報をよく読めば解決できた、は結構あります。)

サポートチケットの起票

サポートチケットの記入はこんな感じです。

Supportticket0


まずは、「What can we help you with?」で問い合わせ対象を選択します。 現時点では、下記の6つが選択できます。

  • Application Issue
  • Heroku Postgres or Redis Issue
  • Add-on Issue
  • Billing, Payments or Account Issue
  • Product Feedback
  • Security Vulnerability Reports or Legal Issue

あとは、この選択した種類に応じてHerokuアプリケーション、対象となるDB・アドオン、問い合わせの優先度等を入力していきます。

「May Heroku staff access your applications's production environment?」はHerokuの担当者が問題解決の為に対象環境(ソースコード、アドオン)に対してのアクセスを許可するかのチェックです。問題の種別によっては、許可すると、問題解決までの時間が短縮されるかと思いますので状況に応じて選択してください。

詳細の記述は、Github Flavored Markdownが使えるので、楽ちんですね。Web上に上がっている画像であれば通常通り貼り付けられます。

サポート依頼をウォッチする

サポート依頼を送ると、チケットがクローズされるまでサポートトップ画面の「Your Support Requests」にそのチケットが表示されます。ここからチケットの質問内容・Herokuサポートからの応答等が確認できます。

Supportticket1_2


ここで、Herokuサポートと直接やり取りを行えます。 直接問い合わせを行っていた方の印象では、応答速度は中に人が入っている割には速いとのことでした。

サポート依頼をシェアする

このチケット画面の右上に「Share Ticket」というボタンがあります。このボタンから、このチケットを同じ組織の別ユーザと共有することができます。 この操作で、他のメンバーもこのチケットへアクセスすることができます。 こんな感じで共有したいユーザをチェックします。

Supportticketshare


(シェアしないと、「例のみんなが困ってたのHerokuサポートに依頼だしました、URLここです」とURLを送られてもアクセス権がなくて見られないのです)

シェア機能は、便利だなーと思いつつも、組織アカウントに紐づく問い合わせなら、ダッシュボードの組織アカウントの中に導線が作られて自動的に見られるようになれば…と感じております。

過去の問い合わせを参照する

過去の問い合わせの参照は、サポートトップ画面の「Ticket history」を選択します。 これを選択するといわゆる一覧画面に遷移します。

Supporthistory_2


以下の4つのチケットの状態でフィルタをかけることができます。

  • All
  • In Progress
  • Awaiting my response
  • Closed

と、こんな感じがHerokuサポートでできる事の一覧でした。

実際の案件でのやり取りだったので、お見せできずボカした箇所が多々ありましたがどんな感じか雰囲気だけでも掴んでいただければ幸いです。

もっとこんな事できるよ!などあれば是非コメントをお願いいたします。

2015年11月13日 (金)

Babel 6をいろいろ試してみた。

こんにちは、三宅です。
ECMAScript6を書くジャバスクリプターの強い味方「Babel」の大きなバージョンアップが10/29に行われました。

6.0.0 Released

ちなみに、このブログを書いている時点ではバージョンが6.1.19となっていて、かなりのスピードでアップデートが行われているようです。

Babel 6は次世代のJavaScript開発のプラットフォームとなることを目標に、かなり破壊的な変更が行われています。
中でも、以下の変更は大きな影響があると考えています。

  1. トランスフォームなどの機能をモジュールとして提供する形態へのアーキテクチャの変更
  2. プラグインAPIの変更

1についてはBabel単体は何もせず、トランスフォーム等を行うプラグインを追加する必要があるようになっています。
2はこれまでBabel 5.xで提供されていた機能の範囲を利用していた人には大きな影響はないかもしれませんが、他のでデベロッパが開発したプラグインを利用していた人は、Babel 6への対応が行われているかの確認が必要になるでしょう。

個人的には、Babelの方向性の変更は良いと思っているのですが、しばらくは5.xのようにトランスパイラとして使いたい…という事で、これまで利用していたgulpやBrowserifyなどの様々な形態で、問題なく利用できるかどうか試してみました。

babel-experiment

ES6のコードには、Modules、Arrow Function、Class、Template Stringsを含んでいます。
そのコードに対して、CLI、Browserify + babelifyによるES5への変換、Mochaによるテストの実行、またgulpfile.js自体のES6の記述と、gulpを通したbabelとmochaの実行を行いました。
それぞれ、簡単に説明していきます。

babel-cli

Babel 6ではCLIから利用する際は、babel-cliを用いるようになりました。
ローカルにbabel-cliをインストールし、/node_modules/.bin/babelを利用しています。

babel cli/src -d cli/dist

Browserify

フロントエンドのコードを書くときにはほぼ必須のBrowserify。
トランスフォームにbabelifyを指定して実行しています。

browserify -t babelify browserify/src/index.js -o browserify/dist/index.js

Mocha

テストランナー。
コンパイラとして、babel-coreを指定しています。

mocha --compilers js:babel-core/register --reporter nyan mocha/test

gulpfile.jsとgulpタスクの実行

gulpfile.babel.jsという拡張子にすることで、ファイルの読み込み前にbabel-core/registerが呼ばれトランスフォームされてから実行されます。
gulpタスクの実行は、今まで通り gulp ${taskname} で大丈夫です。


今までプロジェクトで利用したことのある、問題なく変換・テスト等を実行することができました。

.babelrcの記述

5.xではCLIやgulp-babelでの実行時にオプションを渡して実行していましたが、6からは.babelrcで設定を記述することが推奨されているようです。
.babelrcはpackage.jsonと同じ階層、プロジェクトルートに配置します。CLIやgulp-babelでの実行、mochaやbrowserifyのオプションとして指定した場合でもすべて、その設定を読み込んで実行されます。

{
  "presets": ["es2015", "stage-2", "react"]
}

今回の.babelrcはこのような記述となっています。
Babel/FAQを参考に、Babel 5.xと同じ出力結果を得ることのできるよう「es2015」、「stage-2」、「react」のプリセットを指定しています。
プラグインを利用する場合は、.babelrcに以下のようにpluginsを追加します。

"plugins": ["transform-react-jsx"]

Babel 6になって大きな変更が行われましたが、自分の利用している範囲では問題なく動きそうで一安心です。
毎日アップデートが行われていてまだドキュメントが完全に整備されていないなど、まだ安定しているとは言いがたい状態ですが、今後どのように進化していくのか楽しみでもあります。
今回の記事が、Babel 6への移行の方法や、Babel 5.xを使い続けるかの判断の助けになればと思います。

2015年11月 6日 (金)

会社でハロウィンやってみた。

こんにちは、なかやまです。

今日は技術よりな話ではなくて、ごめんなさい。

先月末のハロウィンで会社でやったイベントについてお話させてください~

_01

 

もともとハロウィンの文化がなかった会社。

仮装はさておき、お菓子があったら幸せだよね、と思う。

_02

 

お菓子を山盛りにして、みんなで食べたいです!とお話しして、予算をゲット。

2015_11_06_13_40_06

 

Herokuといえば、折鶴!(無理やり混ぜ込んだ感ですが)

何か折り紙できたらいいよね!と考える。

_03

 

みんなに協力してもらい、星の折り紙をおることになりました!

_09

ストライプの折り紙で折ると、星の中にも星がでてきておしゃれになりました。
2015_11_06_11_03_55

 

クモも作ってもらいましたが、ストライプ柄で作るとなんとかわいいこと!!

2015_11_06_13_13_27

 

かぼちゃのでかい置物がおきたかったので、Amazonで注文。

空気を入れるのに苦労しました。

ゴミ袋を利用すると、あっという間に入るそうです!

_08

 

膨らませると、130cmになります。

2015_11_06_11_03_37

 

上野の二木にお菓子を買いにいきました。

あめ1kgとか、こんな機会でもないと買わないですね。

_05

 

たくさんのお菓子。

2015_11_06_10_57_43

 

さらにチロルチョコにプリントしてくれるサービスがありまして、

そこで会社のロゴ入りのチロルチョコを作りました。これもかわいくできましたよ!

_06


2015_11_06_10_54_40

 

お昼休みに、かわいい袋にお菓子をつめる。

100袋を目指しました!

2015_11_06_10_58_41

 

そして盛り付けた図。

2015_11_06_10_53_21

 

会社の受付はこんな感じになりました!

2015_11_06_10_56_05

 

 

最初はどうなるかと思いましたが、いい感じに楽しむことができました!

次は200袋作りたいですね。

ハッピーハロウィン~

採用情報

株式会社フレクトでは、事業拡大のため、
Salesforce/Force.comのアプリケーション
開発
HerokuやAWSなどのクラウドプラッ
トフォーム上でのWebアプリケーション開発

エンジニア、マネージャーを募集中です。

未経験でも、これからクラウドをやってみた
い方、是非ご応募下さい。

フレクト採用ページへ

会社紹介

株式会社フレクトは、
認定コンサルタント
認定上級デベロッパー
認定デベロッパー
が在籍している、
セールスフォースパートナーです。
heroku partnersにも登録されています。
herokuパートナー
株式会社フレクトのSalesforce/Force.com
導入支援サービス
弊社の認定プロフェッショナルが支援致します。
・Visualforce/Apexによるアプリ開発
・Salesforceと連携するWebアプリ開発
も承っております。
セールスフォースご検討の際は、
お気軽にお問合せください。
Powered by Six Apart