グロースハックする~ダフえもん~

S3を使用したホスティングサーバーの構築

ごきげんようdafです。 フロントのお勉強にテストサーバーが必要ということで準備したお話 あまり時間をかけずに認証はかけたい ということでやりました。

やりたいこと

  • フロントエンドの学習のためにテストサーバーが必要
  • 認証をかけたい

やること

  • S3の静的ホスティングサービスをつかって静的ページを表示
  • EC2インスタンスを噛ませてbasic認証をかける

環境

EC2(Amazon Linux) – http(80) – ssh(20) にアクセス可能にする S3バケット – S3のバケットを準備(バケット名はfront.dafman.club) – Webホスティングを有効にする Route53 – ドメイン”front.dafman.club”を発行 – type:CNAME – value:インスタンスのPublic DNS

S3のバケット設定

EC2の設定

nginx&Basic認証

.htpasswd作成

nginxのconfファイルを作成

nginxの起動&自動起動設定

グロースハックする~ダフえもん~

playframworkでメールを送信してみた!

ごきげんようdafです。(最近bufになりました。そろそろ襲名披露していこうと思います。) 最近の”グロースハックする?”ブログは新卒の投稿も増えて、カテゴリもバラバラでカオスですね。 今日は原点回帰ということで業務で使ってるJava-Playのお題を扱ってみようと思います。 題して

“playframworkでメールを送信してみた!”

ついでに次回更新として”AWSのSESをSMTPサーバとして使ってみた”も予定しておきます!乞うご期待!

環境

Playframework 2.4 Java8

準備

こちらのライブラリを使う playframework/play-mailer – github

build.sbt

ライブラリを参考にlibraryDependencies 内に以下を追加 追加したらupdate

conf/application.conf

まずはgmailで実際に確認してみる。 confファイル内に以下を追記

実装

以下の内容で あとは実行してやるだけ! 簡単簡単!次回は”SESをSMTPサーバとして使ってみた!”を書く予定です! あとScalaのライブラリAkkaを深く勉強する機会があったのでいずれそれも書いてみようとおもう。
グロースハックする~ダフえもん~

slackとhubotでソラジローを作ってみた。。。①

ごきげんようdafです。 仕事がもう少しで一区切りつきそうなのでここらで一投!!!!!!!!! ホントに久しぶりの投稿ですね。。。(今年の目標を見るのが怖い。。。) いやー最近は熱い日が続きますね。。。 毎朝事務の女の子が熱いなか必死に頑張る営業さんを思ってラインにはその日の天気と気温をコメント付きでフィードしてくれます。(天使か!おい〜) 実は毎晩、ソラジローに直接聞きに行っているらしいです〜笑 そんな苦労を考えるとなんとかして自動化してやりたいという思いに狩られるのでやってみました! 運良く社内ツールとしてslackが近々導入されるということなので今流行のなんちゃってお天気チャットボットを作りたいと思います。 今回はhubotとslackを連携させてお天気APIを叩いて天気予報を取得したいと思います!

準備

Node.jsとnpmのインストール

ココらへんはググッて。。。 というか当然入れてるよね。。。

Hubotのインストール

早速Hubotのインストールから ではではbotの雛形を作ってみたいと思います!! 中身はというと。。。 treeしてやれば。。。こんな感じ 実際に動かしてみる デフォルトで色々なスクリプトが用意されているのでまずはPing Pongしてみる笑 。。。ただただbot名 pingと打てはPONGが帰ってくるだけのやーつ とまあ書くのがめんどくさいので続きは明日実際にはこんな風になりますよっと じゃあこの続きはまた明日。。。
グロースハックする~ダフえもん~

【新卒応援企画】はじめてのJava~新卒エンジニアのために~

ごきげんよう!ダフです. 今日は新卒のMacを触ってびっくりしたことなんですが、MacのデフォルトってJava6なんですね。。。 7でないことは明らかだけど、もう9のベータ版出てるんだから、8にしてやれよ。。。 という感じでした。 というわけで今回の“新卒応援企画”

“Java8をいれよう!”

では早速導入から。。。

Java8の導入

導入は前回同様Homebrewを使ってインストールしていきます! まずはsearchしてみます。 うん。あるある。 それではインストールしよう! はいこれで導入完了!簡単簡単!

Javaを動かしてみよう!

せっかく導入したので実際にコードを書いて動かしてみよう 1. お好みのエディタを開く 2. 以下のコードを打ち込む

Test.java

  1. ターミナルを開く
  2. 以下のコマンドを打ち込む
エラーがあればここで何か表示される。。。 そして実行してみよう! 5. java Testを実行 と表示されればおk!
グロースハックする~ダフえもん~

【新卒応援企画】はじめてのMySQL導入~新卒エンジニアのために~

ごきげんよう! ダフです! 新年度が始まりかわいいかわいい後輩が増えました! 特にGHチームはやる気に満ち溢れた子たちが多くてとても頼もしいです! 思えば僕も一年前右も左もわからずMySQLの導入には苦労したものです。。。 ということで今回は 【新卒応援企画】はじめてのMySQL導入~新卒エンジニアのために~ を親切丁寧にやっていきたいと思います。 (MySQLの導入ログを取っておいて良かった…)

MySQL導入の手順

環境

  • Mac OSX(10.10.5) (早くcapitanにしなくては。。。Swift。。。)

手順

  1. Homebrewのインストール
  2. MySQLのインストール
  3. MySQLの起動
  4. MySQLセキュリティ設定
  5. MyCliのインストール
  6. MyCli起動(MySQL起動)

1 Homebrewのインストール

定番のパッケージ管理(๑•̀ㅂ•́)و✧ 今後色々使うから必須だよ!!!!! 難しいことは抜きにしてまずは導入してみようーーー!

2 MySQLのインストール

homebrewの更新を確認 (Xcodeヴァージョン上げろと。。。) インストールが始まればおk

3 MySQLの起動

MySQLサーバー立ち上げ mysql 起動

4 MySQLセキュリティ設定

root ユーザのパスワード設定

5 MyCliインストール

MyCli * MySQLコマンド補完機能付きのMySQLクライアント * MySQLへの接続の仕方はほぼ一緒 mysqlがmycliになるだけ * SELECTとか打つと、そのあとのコマンド候補とかテーブル名とか補完が可能
参考)mycliでMySQLコマンドの補完機能を簡単に使う – Qiita

6 MyCli起動(MySQL起動)

これでMySQLの導入は完璧!! あとはお好みでMySQLWorkBenchとか使えばいいじゃない!( ˘•ω•˘ ).。oஇ MySQLWorkBench ちなみにConfluenceにも貼っといたから見て。。。 Slack常時立ち上げておいて。。。 参考 Homebrew公式 Mycle公式
グロースハックする~ダフえもん~

新しい仲間と家族が増えました

春ですね。ダフです。 先日は入社式で新しい仲間がたくさん増えました。 そしてこのタイミングで新しい家族も増えました笑 ということで今日は技術ブログではなく、そんな家族をご紹介します!

ご紹介しましょう!!

エリザベス & スージー

どちらもメスです。 (オスだったらエンジニアらしくアップルの創業者にちなんでウォズニアックとジョブズと名付ける予定だったんですけどね) 正直見分けがつきません。 ちょっと気性が荒いのが$エリザベス$ (背中の模様がちょっと濃い) 人懐っこいのが$スージー$ (背中の模様が薄い) 名前の由来は分かる人にはわかる!笑 ただエンジニアらしく汎用性と命名規則はしっかり考えました笑 だから今後仲間が増えていくことを前提につけております。 果たして利己心・私心の塊のような男にこの子たちを育てられるのでしょうか。。。 でも水槽を眺めていても全然飽きませんね。

大切に育てていきます。。。

ただ普通に育てるだけじゃ、物足りないのでちょっとしたものを作ろうと画策中! $題して$

ダフえもんの鼠育成計画

こいつを使って色々やってみよ〜 s
  • ホイールの回転数をセンサーで計測して1日の移動距離を算出したり
  • ある時刻に餌場に餌をあげたり
  • 寂しくないように一定間隔でご主人の声が流れるような音源モジュールを使ったり
  • カメラモジュールを使っていい感じの写真をとったり
  • 活動時間が計測できるようなものを作ったり
けっこう色々できるぞ〜 ということで明日はお家を買ってこよ!
グロースハックする~ダフえもん~

Play2.4でMySQLを使う③

だいぶ間が空いてしまいました。 今朝自転車のチェーンホイールが壊れて遅刻したダフです。 (引っ越すまで自転車を全く使ってない上に雨曝し状態だったので、とことどころ錆びてる。。。 週末は自転車の整備に追われそう。。。 でも久々に自転車に乗れて楽しいね。 弱虫ペダルのおかげなのかまちなかでもロードレーサーをよく見かけるし、エセ自転車ファンにとってはとても嬉しいことですね。 弱ペダも好きだけど、昔マガジンで連載されていた”Over Drive”とか”茄子”とかも好きなんですよ。OverDriveの影響で高校時代に”自転車部作りたいです。”って校長室に押しかけて、ドラマとかアニメとかでは定番の”5人部員を集めて顧問の先生を立てられたら部活として認めよう”とか言われんのかなとか思ってたら、”お前、バスケ部だし、部長なんだからそんな中途半端なことやるなよ。そもそもそんな高い自転車買えねぇよ”的なことを言われて、全然予想外の展開過ぎてただただ怒られて終わったっていういい思い出。。。) 前回に引き続きplayを使って簡単なデータのやり取りをしていきたいと思います。

playを起動

ターミナルでactivatorと入力 runで実行 ここまで来たらブラウザでlocalhost:9000を叩けばおk! image1 なんかエラーっぽい画面が出てきたけど、安心してください。 modelで定義したエンティティを元にテーブルを作成しますよ〜 っていうとっても親切なことをplayさんはしてくれているのです。 ‘Apply this script now’ でテーブルが作成され、以下のような画面に移ると思います。 これで無事playを起動できた訳ですが、せっかく書いたコードを動かしてみましょう。 その前に前回ルーティングを忘れていました。。。

ルート設定

conf/routesファイルを開きます GETはメソッドですね。 /(ルート)にアクセスするとApplicationクラスのindex()メソッドを叩くという意味になります。 ここに前回書いたコードが反映されるよう以下を追加します。 /userにアクセスするとApplicationクラスのuserメッソドを叩くという意味になります。そこでuserメソッドをApplicationクラスに追加します。 Userクラスをplay.data.Form オブジェクトを定義しインスタンス化しています。 そのインスタンスを返してあげているだけなのですが、返り値がResultになっていて、インスタンス自体okメッソドの引数として返しています。 これはクライアントへのHTTPレスポンスを表し、ステータスコード200ならokのレスポンスを生成するという意味になります。 (余裕があるとき中身も覗いてみよう。。。) 気になるのがrender()ですね。。。 このメソッドがplayのテンプレートエンジンを利用してwebページへのレンダリングを行うことになります。 とりあえずここでlocalhost:9000/userとブラウザに入力すれば image3 こんな感じになるはず、、、 viewの@titleで定義してたh1タグのにはrenderメッソドの第一引数”user infomation”が出力され、フォームも表示された。 とりあえず今日はここまで。。。 全然本題に進まない。。。

Play2.4でMySQLを使う②

一昨日引っ越しを済ませたダフです。 (個人的にはすごく気に入ってる部屋なんだけど、新居に慣れないだけなのか、ベッドがまだ届かないからなのか寝付きがよくないよね。しかもこの部屋は嬉しいことに一人暮らしを感じさせない仕様らしい笑) 前回の続き。。。 前回はactivatorを起動させるまでやったので、実際にMySQLに何かしらを入れてい見たいと思います。

Model

まずはapp/配下にmodelsパッケージを作成しクラスを作っていきます。

User.java

view

実際に値を入力するviewを作る app/viewsにuser.scala.htmlを作成

user.scala.html

controller

controllerを作成 今日はここまでおやすみ〜
グロースハックする~ダフえもん~

playでMySQLを使う

ご無沙汰しております。 今週末に引っ越すドラです。 (amazonビデオでドラえもんの歴代の映画が配信されているんだけど、何本か見ているうちに懐かしいくなって本当にドラえもんになりたいなと思う今日このごろ笑) 今回はPlayのmysqlの使用について書いていきますよ

playの導入

play2.3からはtypesafe-activatorになっているので 例のごとくHomebrewで 導入が完了したら早速プロジェクトを作成します。 これでプロジェクトが作成されます。play-javaとしているのはplayではjavaとscalaの選択ができるため、今回はJavaを選択します。 プロジェクトの中身は 早速実行してみる これでlocalhost:9000でアクセスすると。。。 http://engineer-terminal.com/wp-content/uploads/2016/02/b6dddf533d770e6d1bc2a5370bf4a691.png この画面が出ればOK!

MySqlの導入

早速Mysqlを導入してみる ドライバを指定 mysqlが確認できればOK! 今日はこれまで 次回は実際にMysqlを使った簡単なアプリを作ってみます!
グロースハックする~ダフえもん~

Mavenもろくに使ったこともないのにGradleを導入してみた

そういえばマイデスクを改造しました。ドラです。 (kindleで”バイナリ畑でつかまえて”って短編マンガ集読んだんだけどさ、面白いよ。現代のSFっぽい感じがリアルで、なんとも言えないくらい寂しくてね)

ビルドツールとは?

Java製アプリを Eclipse から実行したことしかない新人に「ビルドツールとは?」を説明してみる…そして CI へ
プログラムをビルド(構築)するための一連の作業を自動化するもので、 あらかじめ記述したルールに従いコンパイラ等を呼び出す。 by wikipedia
だそうですよ。使ってみないことにはそんな有り難みを感じことはできないからね! 早速導入だ!

例によってHomebrew

パスを設定

バージョンを確認してみる

適当なフォルダを作成

Javaプロジェクト作成

treeで確認してみる

とりあえずビルドしてみる

javaSample.jarができていれば成功!

とりあえず今日はここまで!