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

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ができていれば成功!

とりあえず今日はここまで!
グロースハックする~ダフえもん~

時には腕試しでも。。。

風邪を引くと暗い映画を見たくなるよね。ドラです。 (劇場版うる星やつら2ビューティフル・ドリーマーをまたまた見てしまった日曜の昼下がり。小学生の時に植え付けられたトラウマ映画。何回見ても終盤のラムちゃんの”責任とってね”は鳥肌が立つ。) 年末にエンジニアがこんなツイートをしているのをよく見かけた。

ほとんどのエンジニアには解けるが、下位10%のダメなエンジニアにだけ解けないパズル?

http://www.atmarkit.co.jp/ait/articles/1512/18/news030.html エンジニア1年目といえどこれはチャレンジせずにはいられない 「俺はダメなエンジニアじゃない!!!!!!!!!!!!!!!」 そして、5分後。。。

I’m Winner!!!!!!!

普段webやってるからってのもあるけど、何かしらのAPI触ったことのある人ならほとんどの人ができる問題だと思います。 是非チャレンジしてみてください!!
グロースハックする~ダフえもん~

Spring boot 使ってみた②

旅立つ友人に対して真面目な顔で言ってみたい一言は “フォースと共にあらんことを” のドラです。 (昨日は念願のスターウォーズを見に行って来たんだ!よくも悪くも期待を全く裏切らない映画ですね笑本当に未だに興奮冷めや欄わけですよ、、、今週末もう一回見に行こうか迷ってるんだ、、、)

Groobyコントローラーの仕組み

@RestController

このクラスがHTTPリクエストを受けてボディを持ったレスポンスを返す機能を持つこものであることを認識する。 ->REST用のコントローラ-として自動的に認識される

@RequestMapping(“/”)

メッソドにつけられメッソドの特定のURLにマッピングするためのアノテーション。 この場合/(ルート)へアクセスすればそのメソッドが呼ばれるようになる じゃあ前回のコードにhtml形式を埋め込んで見よう!

Thymeleafテンプレートエンジンを使う

@RestControllerではなく@Controllerを使う場合は@ResponseBodyを追加する これはWebのレスポンスボディをもつものであることを示すアノテーション つまりこのメソッドにアクセスしたらレスポンスが返るよという意味 ここで疑問になるのは@RestControllerにはそんなのなかったじゃん!となる 実は@RestControllerは@Controller+ResponseBodyの二役を果たしてたんです。
(これ正確な解釈ではないらしいがとりあえずはこれでいいらしい、、、適当だなおい)

Thymeleafテンプレート

SpringBootで標準でサポートされていてHTML+式言語のような感覚で扱うことができてしまう。

templatesフォルダの準備

groovyファイルがあるディレクトリにtemplatesフォルダをつくるこれがテンプレートファイルを入れるフォルダになる

index.htmlを作成

templatesフォルダのなかにindex.htmlを作成

@grabでライブラリをダウンロード

Thymeleaf-spring4をロードする

ModelAndViewを引数に設定

ModelAndViewはModelとViewをまとめて扱うクラス setNameでviewの名前を指定している なるほど これは簡単だ! でもまだJavaは使ってない、、、 GroovyはJava仮想マシンで動くスクリプト言語なのでJavaはこれからです。。。
グロースハックする~ダフえもん~

Spring Boot事始め

「春よ〜遠き春よ〜♫」春はまだまだ来ないドラです。 (iTunesだと荒井由実と松任谷由実が別々のアーティストで登録されてるから、iPodで聞くときめんどうなんだよね。さらにはアルバムによっては荒井由実(松任谷由実)みたいな表記になるからあの曲どこだっけてのが多いんだよ。でもapple music契約してからiPodを持ち歩かなくなったね。あんだけclassicの発売中止に落ち込んでたのに結局はiPhoneで済んじゃうんだもんね、、、) 次にプロジェクトからフレームワークの導入を検討していてJavaならSpringかplayかって感じで両方のメリット、デメリットを見比べて考えていたんですが、やっぱり実際に使ってみないとわからないということで双方をちょっとづつ触っていたのです! playを触った感想は簡単で小規模な開発には向くけど今回のには合わないかなといった感じ そしてSpringを触ります!

Spring BootでHello World

まずは定番のHello Worldを出力させてみます。

導入

groovyファイルでappを作る

実行

するとspringが立ち上がる あとはhttp://loacalhost:8080/ へアクセスするだけ うん!うまい具合にHellow world(ドラえもん)が表示されましたね。 ということで今日はこれまで!
グロースハックする~ダフえもん~

Macでよく使う開発ツールを晒してみる~コマンド~

エナジードリンクはレッドブルよりは断然モンスター派のドラです。 (前から思ってたんだけど、エンジニアにはメタラーが多いんじゃないか、、、だからモンスターを好むのも少し納得できる笑 僕もメタルは大好きだよ。tool(タイトルだけに笑)とか聞きながら一日中コード書いてられる笑 あとアイドル好きも多いよね。大衆向けのアイドルよりマイナーなアイドルを好む傾向もあるよね笑 バビューン) Macで個人的によく使うツールご紹介しましょう! 今回は コマンドライン系 です!! (Homebrew導入されていることが前提です、、、)

homebrew-cask

このコマンド一発で開発に必要なアプリをインストールできるすぐれものです! (これはまだlist以外用途を見いだせないかな、、、多分チーム開発かなんかで環境統一したいみたいなときに便利なのかな、、、)

導入

用途

Homebrewでインストール一覧を表示 これは管理に便利! Cashでインストールする

brew-gem

Rubyは使わないのだけどgemはiOS開発者にはなくてはならない存在ですね! そんなgemツール管理をしてくれる優れもの!

導入

用途

こんな感じかな

tmux

これを導入する前はターミナルを複数広げては”このサーバーじゃない”みたいな煩わしいことをやってました、、、 tumxを使い始めて2ヶ月ターミナルが一枚で収まって本当に気持ちがいいです。笑

導入

起動

tmuxに関してはまた別途記事にしようと思います。

tree

ディレクトリをtree構造で表示

導入

用途

Alamofireの中身を見てみるとこんな感じ

bash-completion

bashの補完をしてくれる良い奴!

導入

.bash_profileへ以下を記述 これで”あのコマンドのってなんだっけ?”が多少は解消されるはず!

nmap

Nmapとは?

あるネットワーク内で何台のネットワーク機器が接続されているか、またサーバ等のネットワーク機器に対してどのポートが開いているかを調査することができるネットワークスキャナツール ※使用には注意が必要 導入 ホストをスキャンする ホストのOSを検出する とりあえずこんな感じかな
スクリーンショット 2016-01-21 2.44.47

インバウンドマーケティングに挑戦!! ーユーザーの行動を知るー

インバウンドマーケティングとは

昨今のWeb業界では広告を出したり、ダイレクトメールを送ったりするアウトバウンドマーケティングではなくブログを書いたり、ソーシャルメディアを利用したり、SEO対策したりしてユーザー自らWebコンテンツを見つけてもらえるような施策をうつインバウンドマーケティングが主流になってます。 そこで、自分たちもインバウンドマーケティングをおこないユーザーの獲得をできるようにしていきたいと思います!!

ユーザーの思考を分析してみる

今回は、インバウンドマーケティングの記事の一回目ということで、 「ユーザーの思考」について分析していきます!! その後、ユーザーはその思考を元にどういった行動を取り、どんなサイトに訪れるのかということを分析・考察していきたいと思います。

転職希望者について考える

ターゲットとするユーザーは『転職を希望しているユーザー』という比較的大きな括りで定義していきます。 転職を希望している転職希望者はどういった思考で
  1. 転職準備
  2. 応募・面接
  3. 退職・入社準備
という流れの中で転職をおこなうのか。 その際に、どいうったサイトやアプリを利用するのかを考えていきます。 では、一番最初の段階である転職準備でのユーザーの思考について分析していきます。 転職は一般的に4ヶ月〜6ヶ月程の時間でおこなうと言われております。 その中で転職準備に使う期間は3分の1〜4分の1くらいです。 もちろん、転職する人の状況によって大きく変わってきますが、 それくらいの期間を使うのが理想となります。 その転職準備の期間には何を行うのか。。。 大きく分けると以下の4つになります。
  • 転職の計画を立てる
  • 自分のキャリアの棚卸し
  • 求人情報の収集
  • 履歴書・職務経歴書の準備
と、ここまで転職する人の行動について書いていきましたが、 本題は転職する人がどういった考えをもって行動するのかということです。 なので、必要なのは「転職する理由」であると思います!!

転職理由ランキングトップ10

ですので、数十の情報を元に転職理由ランキングをまとめてみました。
順位転職理由割合
1他にやりたい仕事がある21.2%
2給与が不満14.3%
3会社や業界の将来性に不満13.8%
3残業が多い・勤務時間に不満13.8%
5専門的な知識を身につけたい10.4%
6上司と合わない6.1%
7人間関係が合わない5.9%
8幅広い経験を積みたい5.7%
9社風が合わない5.0%
10キャリアアップ3.7%
1位が「他にやりたい仕事がある」と、前向な回答となり、 2〜4位は今の会社に対しての不満からの回答になりました。 これらの回答からそれぞれの理由の場合はどういった行動を取るのかという部分を深堀りしていき、 ユーザーに合った対策を施していくことに成ります。 まだまだ、インバウンドマーケティングの「イ」の字もわからないですが、 分析と勉強を繰り返していきます。 それでは、後日に続きを書いていきます!!
8386

Webサービスの管理画面について考えてみる

今回は「サイトの管理画面について考えてみる」ということで、 先日管理画面についてのセミナーに参加してきたので、 そこで聞いた内容を自分の考えをふまえてまとめていきます。

管理画面を作る目的を考える

どんなサービスでもそうだと思いますが、 サービスや機能において何かしらの課題があります。 その課題を解決するための手段の一つとして管理画面があります。
  • サービス運営者がデータの管理をしやすくする
  • サービス利用者が多種多様な情報から自分が知りたい情報だけを見れるようにする
といった何かしらの目的があって管理画面が作られ、改良されます。

管理画面の利用者によってデザインや仕様を変える

管理画面は利用する人の業種や職種によっても変わってきますが、 自社の社員だけの利用か、自社の社員以外が利用するのかによってもデザインや機能は異なってきます。 例えば、セミナーの発表にあった、飲食店の予約管理システムでは、 ITリテラシーがそこまで高くない方でもお客さんの予約状況を管理しやすいようにします。 そのためには、簡単でわかりやすいことを重視します。 現場の人の声に耳を傾け 並びかたや検索の仕方を変更していく必要があります。 また、社内のみで管理画面を利用する場合には、
  • 運用工数を減らすこと
  • 開発の工数がかからないで作ること
といったようにデザインよりも機能の部分で比重を置くケースが多いです。

管理画面の共通する考え方

共通する考え方では下記のようなことが挙げられます。
  • データの間違いがおこらないようにすること
  • 万が一、データの間違いが起こったら迅速に対応出来る体制を作ること
  • 管理画面を利用出来る人の権限を管理すること
  • 将来を考えた設計にすること
色々と書きましたが、まだ実装には至っていないので、 どういった考え方で設計していけばいいのかという部分をまとめていきました。 実装段階に入ったら、細かく仕様やデザインにも触れていければと思います。 今回参加したセミナーはこちらになります。
グロースハックする~ダフえもん~

今更Swift2からの便利な変更点を知った、、、

引っ越すなら押入れはあったほうがキャラ的に美味しいと感じるドラです。 (ドラえもんの映画で一番好きなのはパラレル西遊記です。) なんだかんだSwift2にあげてからvarが勝手にletに保管されるぐらいでしかswift2の良さを実感してなかった、、、 そんな時にいった勉強会でちょうどSwift2のいいところをたくさん学んだのでメモメモ、、、

print関数

swiftではprintlnだったんだけどswift2からはprintだけでよくなったんだよね
しかも,で型関係なく値を出力してくれる優れものになっちゃった! さらには みたいにseparatorで区切っちゃうこともできる これはデバッグのときかなり役立つんじゃないかな~ もっと早く知ってたら効率上がったろうに、、、

for文

for文に複数の変数を定義できる これは使えそうだと思った for-in文にwhereで条件指定が可能 これも使えそう! Swift3ではfor文がなくなってfor-in文が推奨されるみたいだからね
グロースハックする~ダフえもん~

ログインページのあるサイトをcurlでスクレイピングしてみる

最近良く出てくるダフ(どら)です。 またまたダフったので今回はそれをまとめてみる。 スクレイピングはよくGASでやっているのだけど、curlという便利なものがあることに感激してしまった。 (最近はvimでスクレイピングができるという事実をしってしまって、、、なんておもしろいんだと勝手に高まってる笑)

curlとは?

簡単に言うとコマンドライン上でデータのやりとりができるすごく便利なやつ 様々なプロトコルに対応し、HTTPだけでなくFTPやSCPなんかでもファイル転送が可能

使い方

こんな感じで簡単に実行できる
ログインページであれば クッキーを持たせてやりたい場合はファイルに吐き出してそれをつかいまわしてやればいい あと煮るなり焼くなりご自由に! これをシェルスクリプトに書いて指定した時間に回したい 今回はこれにハマった、、、 21時に実行 atコマンドで指定したシェルが動かない、、、 どうやらMacではデフォルトでatコマンドは無効になっているんだとか、、、 なのでatコマンドを有効にしてやる これでシェルが実行される。 ふー時間かかった、、、