ネオキャリアグループ開発者ブログ

ネオキャリアグループの技術者による開発ブログ

新人よう太の冒険: FactoryGirlとの出会い ~序章~

こんにちは!こんばんは!

あけましておめでとうございます!

新卒エンジニアのよう太です。


突然ですが、皆さん


『きれいなおねえさんは、好きですか。』

f:id:Yoko_Takaki:20170113210827j:plain


私は大好きです。
かわいい女の子も好きです。

と、いうことで
今回は私が大好きな『Factory Girl』について書こうと思います。

 

こちらの記事は、Qiitaに投稿したものと同じ内容になっています。

世界一やさしいFactoryGirlの使い方:入門編 - Qiita

 

FactoryGirlって誰?


FactoryGirlとは、テストデータの作成を手伝ってくれるgemです。
テストデータ...
それはテストコードを書く上で切っても切り離せない存在です。
自力でテストデータを用意することも可能ですが、
FactoryGirlを使用すると、複数のテストデータなどを簡単に作成することができます!


FactoryGirlのインストール


それでは、FactoryGirlをインストールしてみましょう。

まず、Gemfileに'factory_girl_rails'を追加してください。
今回私は新規アプリを作成したので、'rspec-rails'も一緒に追加しました。

group :development, :test do
gem 'rspec-rails',
gem 'factory_girl_rails'

 

このままbundle installを行うと、最新バージョンがインストールされるので、
バージョンを指定したい方は

'factory_girl_rails', '~> 4.0'


このように、gemの後ろに指定したいバージョンを書いてください。


 FactoryGirlと出会ってみる

 

ファクトリーファイルの作成


インストールが終わったら、早速ファクトリーをアプリケーションに追加してみましょう。
FactoryGirlをインストールしている状態でモデルを作成すると、
モデルと一緒にファクトリーも作成されます。

$ rails g model Blog title:string word:text writer:string
Running via Spring preloader in process 7449
invoke active_record
create db/migrate/2016**********_create_blogs.rb
create app/models/blog.rb
invoke rspec
create spec/models/blog_spec.rb
invoke factory_girl
create spec/factories/blogs.rb

既にアプリケーションをお持ちの方は、
specディレクトリの配下にfactoriesディレクトリを作成し、

モデル名.rb


上記のようなファイル名を作ってください。

 

デフォルトのテストデータ


ファクトリーファイルの作成ができたら、テストデータを作成してみましょう。


先ほど rails gコマンドでBlogモデルを作成したので、
spec/factories/blogs.rbで定義します。

モデルと一緒に作成されたspec/factories/blogs.rbを見てみると、
下記のようなテストデータが自動的に作成されています。

*注意 FactoryGirlをインストールする前に作成したモデルに対しては、手動で定義する必要があります。

FactoryGirl.define do
  factory :blog do
     title "MyString"
     word "MyText"
     writer "MyString"
  end
end


せっかくテストデータを用意してくれたので、
テストを実行するとどのようなデータができるのか試してみましょう。

FactoryGirlと遊んでみる


テストデータの生成

FactoryGirlの挙動を確認するために、簡単なテストコードを書いてみました。

spec/controllers/blogs.rb

require 'rails_helper'
RSpec.describe BlogsController, type: :controller do
describe '#create' do
context '正常系' do
context 'DBに登録されていないBlogのtitleである場合' do
it '新しいモデルが生成される' do
# setup
blogs_model = FactoryGirl.create(:blog)

# exercise
post :create

# verify
actual = Blog.find_by({title: blogs_model.title})
expect(actual).not_to be nil
end
end
end
end
end

*テストの対象はblogs_controllerです。

app/controllers/blogs_controller.rb

class BlogsController < ApplicationController
def create
Blog.find_or_create_by(title: "TestTitle")
end
end

 

テストコードの中に、下記のようなコードが書かれています。

spec/controllers/blogs.rb

blog_model = FactoryGirl.create(:blog)

 

このように、FactoryGirl.create(:モデル名)と記述した場合
DBにテストデータが保存されます。

試しにtest環境のDBを覗いてみると...

mysql> select * from blogs; 
+----+----------+--------+----------+---------------------+---------------------+
| id | title | word | writer | created_at | updated_at |
+----+----------+--------+----------+---------------------+---------------------+
| 1 | MyString | MyText | MyString | 2016-**-** **:**:** | 2016-**-** **:**:** |
+----+----------+--------+----------+---------------------+---------------------+

 

Blogテーブルにテストデータが保存されていることが確認できました!

 

* createの他にも、buildやattributesといったテストデータの生成方法があります。

テストデータ生成方法の例
FactoryGirl.build(:モデル名)
FactoryGirl.create(:モデル名)
FactoryGirl.attributes_for(:モデル名)

テストデータの上書き


テストコードを書いていくと、デフォルトのテストコードではなく
より現実的なデータを使用したくなるかもしれません。
そんな時は、テストデータを生成する際に、引数として「任意のテストデータ」を追加してみましょう。

Blogモデルには[writer]というブログの著者の名前を格納するカラムがあるので、
著者の名前を指定してみます。

spec/controllers/blogs.rb
blog_model = FactoryGirl.create(:blog, writer:'asopasomaso')

 

このテストコードを実行すると、

著者の名前が"asopasomaso"なテストデータが生成されます。

test環境のDBを検索してみると...

mysql> select * from blogs where writer = 'asopasomaso'; 
+----+----------+--------+-------------+---------------------+---------------------+
| id | title | word | writer | created_at | updated_at |
+----+----------+--------+-------------+---------------------+---------------------+
| 2 | MyString | MyText | asopasomaso | 2016-**-** **:**:** | 2016-**-** **:**:** |
+----+----------+--------+-------------+---------------------+---------------------+

 asopasomasoがDBに存在することが確認できました。

複数のテストデータ作成


ここまで取り上げてきたテストデータの生成方法では、
一度に1つのテストデータしか作成することができません。
複数のテストデータを生成したい場合は、create_listの引数に「生成したいテストデータの数」を追加してください。
例として、5つのBlogを作成してみます。

spec/controllers/blogs.rb

blog_model = FactoryGirl.create_list(:blog, 5)

 

このテストコードを実行して、test環境のDBを見てみます。

mysql> select * from blogs;
+----+-----------+--------+-------------+---------------------+---------------------+
| id | title | word | writer | created_at | updated_at |
+----+-----------+--------+-------------+---------------------+---------------------+
| 8 | MyString | MyText | MyText | 2017-01-11 07:33:02 | 2017-01-11 07:33:02 |
| 9 | MyString | MyText | MyText | 2017-01-11 07:33:02 | 2017-01-11 07:33:02 |
| 10 | MyString | MyText | MyText | 2017-01-11 07:33:02 | 2017-01-11 07:33:02 |
| 11 | MyString | MyText | MyText | 2017-01-11 07:33:02 | 2017-01-11 07:33:02 |
| 12 | MyString | MyText | MyText | 2017-01-11 07:33:02 | 2017-01-11 07:33:02 |
| 13 | MyString | MyText | MyText | 2017-01-11 07:33:48 | 2017-01-11 07:33:48 |
| 14 | MyString | MyText | MyText | 2017-01-11 07:33:48 | 2017-01-11 07:33:48 |
+----+-----------+--------+-------------+---------------------+---------------------+

 idが8から12の行のcreated_atのカラムに注目してください!

モデル名の後ろに追加した「生成したいテストデータの数」分、テストデータが同じ時間に作成・登録されています。

 


FactoryGirlと付き合ってみる?


FactoryGirlの便利な機能はこれだけではありません。
連番データの作成や、関連データの作成などなど、
様々なテストデータを作成することができます。

(´-`).。oO(年明けにまとめようかな...)


弊社について


ネオキャリアでは、エンジニアの募集を行っています。
ぜひぜひ、募集記事をチェックしていただけると嬉しいです!

 

www.wantedly.com

www.wantedly.com

 

References

- [いまさら聞けないfactory_girl入門](http://tech.grooves.com/entry/2015/04/28/173025)
- [Everyday Rails - RSpecによるRailsテスト入門](https://leanpub.com/everydayrailsrspec-jp)

 

 

参考になるデザインまとめ!

 

f:id:shinjimiyamoto:20161202120120p:plain

自己紹介

こんにちは!

自分は、美容師 → 料理人 → WEBデザイナー → エンジニア(いまここです。)エンジニアとしては、初心者です。

20 〜 24 歳の頃に、美容師の仕事をしたり、料理人もしたり、、、 以前の会社では、フロントエンジニア兼webデザイナーとして働いてました。

最近はプライベートでプロジェクターと一眼レフを買いました。プロジェクターを使ってプロジェクトマッピングとかやりました。映像編集のソフトが使えないと、楽しめないとわかったので、今はアフターエフェクトプレミアプロを使って遊んだりしてます。よく、アマゾンビデオをプロジェクターで鑑賞しています(^^)

ネオキャリアでは、以下プロダクトのデザイナー&フロントエンジニアを担当しております。

人事部と総務部のお役立ち専門用語ならjinjer

 

前置きが長くなりそうなのでようやく本題です。 \(^o^)/  

今日は、デザインする時、エンジニアにアニメーション等を伝える時に参考になるサイトを厳選してご紹介します。

ライセンスは、自己責任でお願いします。
 

クリエイティブ系WEBサイトギャラリー編

  

  

クリエイティブ系WEBサイトギャラリー(海外)編

Behance

Dribbble - Show and tell for designers

アプリ(UIUX)編

http://www.inspirationde.com/ui-ux/

 

おしゃれなLP編 

 

フォント編

アイコン編


  

エンジニアに伝える時アニメーション編
Pixate

 

よく使うWEBサービス
Grid Designer 2

余白の調整で使います

 

 

配色編

BrandColors – Official color codes for the world's biggest brands

配色の参考に

 

ダッシュボード編(htmlもあり)

 

UIUXガイドライン編 
ユーザインターフェイスのデザインのヒント - Apple Developer 

パワポテンプレ編
PowerPoint Templates from GraphicRiver 

無料写真素材編(海外)
picjumbo — free stock photos

写真のクオリティーはそこそこよいです。枚数が少し少ないです。

クオリティは高いです。ただ、種類が少ないのと、ジャンルがかたよってます。

 

 

無料写真素材編(国内)

数と種類は沢山あります。

 

個人的に結構使います。

 

かわいい女性向けの画像に特化した素材集です。

 

 

無料、ポスター素材(ai) 

いろいろ無料でダウンロードできます。

 

PSD Templates elemisfreebies

BrandsClap -

 

おわりに

さて、少しは参考になったでしょうか。
自分は、デザイン周りの記事を書いていこうかと思ってます。
ネオキャリアはエンジニア、UI/UXデザイナー採用を行っています。
インターンも募集してます!
ぜひ弊社のサイトや募集内容をチェックしてください!!


 

 ちなみに、新宿は美味しいごはんのお店も沢山あります。


UnityとNeuronでお手軽モーションキャプチャをやってみた!

f:id:vr_sasa:20161108154803j:plain

こんにちは!ネオキャリアで働くVRエンジニアのsasaです。

 

昨年度までは自社の求人サイト『FINE!保育士』の開発責任者を務めさせていただき、今年度からは、VR専門エンジニアとして、研究開発の分野に携わるようになりました。

f:id:vr_sasa:20161107180052p:plain

sasa
コーヒーとphpが大好き。

2013年に入社し、ネオキャリアの新卒エンジニア第1号として頑張っています。

 ネオキャリアにはVRブースがあるんです

実は、ネオキャリア新宿オフィス内には社員なら誰でもVR体験ができるよう、VRブースを設けています。

f:id:vr_sasa:20161108124726j:plain

ブース立ち上げ直後で雑多ですが、そのうちPepperくんとお片付けする予定です。

今回の本題です。

ところで皆さん、一度は思ったことはないでしょうか。

「俺もパソコンの画面の中に入り込んで、ディスプレイの先でしか会えないあのキャラクターとキャッキャしたい。」

これだけ技術が発達した世の中なのだから、その恩恵にあずかればお手軽にできる気がします。

 

まず、夢の実現に必要なものを用意していきましょう。

続きを読む

【最悪死にます】エンジニアがやりがちな5つの習慣

皆様はじめまして!

営業職で内定、気付いたらエンジニア配属になって2年目のみきちです!
好きなことは仕組みを考えることです。
ディズニー行ったらミッキーよりもアトラクションの仕組みが気になります(。・ω・。)

今日は、私が1年半のエンジニア生活で見てきた・体感してきた
「これ、やり続けたらやばいよね?」と震えた
習慣についてお話ししたいと思います...(ΦωΦ)!!

あなたも自覚のないうちにやっているかも...!?

実は恐ろしい5つの習慣

1.パソコンを見る姿勢が悪い

f:id:miki_sakai:20161014141920j:plain ◆すごく猫背になっている
◆肘をつきっぱなし
◆もたれるような座り方をしている
周りにもすごい姿勢で仕事をしている人はいませんか?

悪い姿勢は、体の筋肉を緊張させ、体にさまざまな不調を起こします。
頭痛、腰痛、手足のしびれ、くも膜下出血、胃もたれ、首や肩のこりなど...
ひどい場合には、脳梗塞など突然死のリスクにも繋がります!!!

自分の姿勢を確認し、正しい姿勢を心がけましょう(^o^)/

▼正しい座り方がまとまっていたので参考にどうぞ!
疲れない!!太らない!!デスクワークでの座り方で心がけたい8つのポイント

2.長時間パソコンを見続けている

f:id:miki_sakai:20161014141816j:plain お仕事の都合上、長時間見るのは避けられないですが
間に休憩を入れるのと入れないのとでは目の負担が全然違います。

眼精疲労が悪化すると目が開けられなくなったりすることも。
エンジニアとしてのお仕事ができなくなってしまったら、元も子もないですよね。

長時間パソコンを見ているな、なんとなく目が疲れたな、と思ったら
適度に目を休めましょう!

▼目を休める方法の参考にどうぞ!
今日も頑張るエンジニア・デザイナーのあなたに。目の疲れを解消・予防するためにおすすめの方法まとめ

3.夜中ずっと作業し続け、電源が切れたように寝落ちする

f:id:miki_sakai:20161014141911j:plain これは私がマッサージ師のお姉さんと会話していて言われたことでした。
「最近毎日パソコンの前で寝落ちしてるんですよねー」
「それは良くないですよ。
パソコンの前だとブルーライトを浴びていて 体が覚醒状態になっています。
そこから睡魔で寝落ちするっていうことは、バリバリ稼働中のパソコンに対して電源ボタン長押ししてるのと一緒ですよ
!!!!!!
この衝撃は、忘れません。笑

毎日のように寝落ちしているというのは、毎日のように
パソコンをブチ消ししているのと同じようなものなのです・・・!

エンジニアのあなたなら、この恐ろしさ...分かりますよね...!?!?

4.朝起きるのがだんだん遅くなる

f:id:miki_sakai:20161014141824j:plain 「エンジニアは朝起きるのが遅い」とよく言われます。
朝起きるのが遅い
→仕事の開始が遅い
→仕事の終了が遅くなる
→夜寝るのが遅くなる
朝起きるのが(ry
このループは止まりません!!!

人は、朝起きて日光を浴びることで体内時計がリセットされるといいます。
朝しっかり起きることにより、夜の眠気も引き起こすことができ、遅寝が防止できます。

▼企業が取り組んでいる事例を真似してみるのも面白いかも!?
ドワンゴ「助けて! エンジニアが朝出社しないの!」→ 女子マネージャーが弁当を手渡してくれる「女子マネ弁当」システム導入で生活習慣改善へ

5.常に間食している

f:id:miki_sakai:20161014141839j:plain 自分のデスクの上や引き出しの中・・・
夢のお菓子boxが出来上がっている人は多いのではないでしょうか?
私も間食大好きっ子の一人です!

間食はリラックス効果などもあると言われていますが、食べ過ぎは別。
体重増加だけでなく、高血糖や脳血管疾患、心疾患など...
特に40歳以上から要注意だそうです。

自分がどれくらい間食しているのかを見直し、少し減らしてみましょう。

▼夜遅い間食は特に控えたほうがいいようです!
間食の習慣は糖尿病のリスク大?!

【番外編】私が実践して良かったと思う健康法

ここまでキケンな5つの習慣を挙げてきました。
皆様は、どのくらい当てはまったでしょうか?

ここからは、私が実践してみて良い効果のあった健康法をお伝えします!

1.仕事中、基本はスタンディング。座るときはバランスボール。

f:id:miki_sakai:20161014141846j:plain 普通の椅子に座っているときは腰が痛くなり、姿勢も崩れがちでした。
スタンディングに変えてからは立ち姿勢を意識しやすく、
何と言っても眠気が吹き飛びます!!!!
特にお昼ご飯終わってからの眠気が辛いあなた、ぜひお試しください♪( ´▽`)

また、座る時もバランスボールにすることによって
腰が痛くなることがなくなりました!!
私は体がかなり凝り固まっているらしいのですが、
マッサージ師のお姉さん(二回目の登場)に
お尻の筋肉だけはすごくほぐれていると言われましたw
バランスボールのおかげですwww

2.夜寝る前30分はパソコン・携帯を見ない。

f:id:miki_sakai:20161014141859j:plain 寝る前にブルーライトを浴びる機会を無くすようにしました。
その結果、寝つきがよくなり、朝の目覚めが良くなりました!
加えて、部屋の電気もだんだん暗くしていき、自分の体に
「今から寝るんだよー」と教えるようにもしています( *`ω´)

3.寝る前、朝起きた時にちょっとだけヨガ。

f:id:miki_sakai:20161014141852j:plain ヨガのこころえが無くても大丈夫です。
体が硬くても大丈夫です。
Youtubeさえ再生できれば大丈夫です!

「朝ヨガ」「夜ヨガ」で検索してみてください♪
5分だけでもやってみると寝つきと目覚めが全然違います!
夜はだんだん体が休まっていき、
朝はだんだん全身が目覚めていく感覚を感じられます( ´θ`)ノ

まとめ

いかがでしたか?
「悪い習慣」は無意識のうちにやってしまいがちでも、
「良い習慣」は意識してやらないとできないですよね。

「悪い習慣」が積み重なると、自分の体は徐々に悪くなっていきます。
疲れやすかったり、仕事に集中できなかったり、様々な場面で悪影響が出ます。

ですが、人間とは凄い生き物で...
「体調の悪い自分を正常の自分だと思い込むようになる」んです!!!!

肩こりが辛いなぁ、痛いなぁ・・・
→すごく辛いなぁ、痛いなぁ・・・
→(いや、違う!これは正常の自分なんだ!)
コレハ辛クナイ、コレハ普通

ずっと辛いままでいたくない故に、辛い状況を「辛くない」と認識してしまう。
人間の凄さであり、怖さだと思います。

そうやって、「気付いたら手遅れ」にならないように!!!
今から自分の生活習慣を見つめ直しましょう♪
良い仕事は、健康な生活からですっ(^^)

インフラを主体にWeb業界の思い出を振り返ってみる

自己紹介

はじめまして、業界歴が20年近くなるアラフォーのポンタっす。

河野パパとは同い年です!

で、「ブログ書けよ(゜ロ゜)」って言われたんですが、最近開発とかやってないのでネタに困り思い出に浸ろうかと思います。

実際にはキレイなお姉様に「ブログ書きませんか?」って言われたので、二つ返事で「書きます(*´∀`*)b」って言ったんですがね、お姉様には逆らえません(*´ω`*)

 そんな訳で、特にインフラ屋さんではないんですがインフラを触る機会も多かったり今も触ったりするので、Web業界をインフラ主体に振り返ってみますよ! 

2000年頃 

今は亡き人生初の奉公先では、i-mode向けのサービス開発をよくやってました。

この頃のWebサービスのインフラといえば、データセンターにサーバーを設置して、1Mと10Mとかの専用線契約をしてとかが多かった気がしますが良く覚えてません。

はっきり覚えてる事と言えば、データセンターのコロケーションサービスでスペースを借りて、自前で組んだラックサーバをマウントしたりして、各種配線をどう美しくケーブリングできるかに時間掛けてたって事くらいですな。I love Panduit(○´3`)

f:id:ponta-kun:20160928172503j:plain

自前でサーバ組むのは、当時はベンダーのサーバとかはとても高価だったからなんですが、正直に言うと趣味というところが理由の大半です(*´∀`*)

LinuxRedhatが主流でしたが、なぜかTurboLinuxを使いext3の遅さに嫌気がさし、ReiserFSを使うといったことをやってました。

アプリケーションもPerlで開発してましたが、まだフレームワークとかも充実しておらずオレオレフレームワークがいくつか社内で跋扈するという感じで、カオスな環境だったなと(;・∀・)

 

続きを読む

新卒エンジニアは見た! 〜ネオキャリア開発現場の実態〜

はじめまして!

新卒1年目のよう太です。
今回は、私の自己紹介とネオキャリア開発チームの雰囲気をご紹介いたします!
求人情報や会社HPだけではなかなか分からない、
開発現場・開発チームの雰囲気を新卒ならでは(?)の切り口で紹介していきますので、
最後まで読んで頂けると嬉しいです!

自己紹介

あのケツの正体

改めまして、ケツ出しNGことよう太(女子)です!!
詳細はこちら

neo-developers.hatenablog.com

 

今年の4月末からエンジニア配属になりました。
学生時代は社会学を専攻し、中国移民について学んでいました。
統計学の講義以外ではほとんど計算が必要ではなく…
PCを使用するのはレポートとパワポを作成するときだけ…
コマンドプロンプトを開いたこともない…
そんな生活を4年間続けた私は


ど文系です!!!!!!(´>ω∂`)

 

やせいの 文系が あらわれた!

ど文系の私は、ネオキャリアに「営業職」として入社しました。
しかし、一ヶ月の新人研修の後「エンジニア」配属になりました。

当時の私の知識レベルは、

「なんかC言語Javaは聞いたことがある…」
「HTMLとCSSは高校の授業でちょっと齧った…」

この程度でした( ˙-˙ )

最初は「まずコマンドって何だ…」とPCの黒い画面を見ながら絶望したり、
赤文字のエラー文を見てビビり倒したりしていましたが、
周りの先輩方のおかけでなんとか1/10人前くらいにはなれたと思います…!
おそらく(´>ω∂`)

会社選びで大切なことって?

さて、就職活動が近くなると「会社選びの基準」という言葉を一度は耳にすると思います。
「やりがい」「給与」「勤務時間」「福利厚生」「職場の環境」…
例を挙げるとキリがありませんが、人それぞれ譲れない基準があるのでしょうか?

私が就職活動中に重視していたのは、

ずばり「社風」でした。

働きだすと、家族よりも長い時間を会社の人と一緒に過ごすことになると考えると、
企業風土や社員の方の雰囲気は無視できない要素の一つでした。

最優先条件ではなくても、「社風」を意識する方は多いはず…

しかし、制度で決められている「給与」や「福利厚生」と違って、
求職サイトを見るだけではなかなか理解できないのが「社風」です。

ネオキャリアの雰囲気が知りたいけど、エンジニアの情報があまり掲載されていない…
 どうしようかな…

そうお思いのあなたにm9(`・ω・´)
ネオキャリア開発チームの雰囲気!魅力!そして愉快な仲間たち!
採用HPには一切掲載されていない情報を
包み隠さずご紹介いたします!!

f:id:Yoko_Takaki:20160916074040j:plain

だがケツは隠す!!!!!!!!

ネオキャリア開発チームのご紹介

ネオキャリアの開発チームはいくつもあるのですが、
今回は私が所属しているチームのご紹介をさせて頂きます!
他の開発チームに関しては、他の方が詳しく紹介されると思いますので、
ご期待ください( ͡° ͜ʖ ͡°)

Anteleチーム

私が働いているチームは、「Antele」というInstagramのまとめサービスを開発・運用しています!

 

antele.me

Anteleチームの魅力は、ここでは挙げきれないほどあるのですが、
今回は厳選して2点、ご紹介いたします!

スタンディング!

既に河野さんがこのブログで取り上げられていましたが、スタンディングはAnteleチームの象徴とも言えるほど支持されています

Anteleチームのデスクにあるスタンディング台数は、なんと6台!
気分転換や集中力の向上、運動不足の解消など、
様々な理由でスタンディングされています!

*運動不足・ダイエットに関心がある方はこちら

₍ ( ˙ω˙) ⁾⁾

coregano.fine.me

お腹に優しい!

f:id:Yoko_Takaki:20160916075157j:plain

見てください、この胃薬の充実っぷり…
決してお腹が弱い自慢をしたい訳ではありません。
先日、私が賞味期限が切れた食品を食べて食中毒を起こし、一週間ほどトイレの神様になっていた際に先輩方から頂いたものです(´ω`)

お腹の調子を気にせず仕事に集中できます!!

ゆかいななかまたち

次に、私の同期である16新卒のメンバー7名(企画・開発職)を紹介いたします!

まずはこの5名!

f:id:Yoko_Takaki:20160916075724j:plain

右の2名はマーケティング、左の3名はエンジニア(2名)と事業企画配属のメンバー達です。
「真面目な写真を撮りたい」と伝えたら、大臣就任風に並んでくれました。
真面目さが伝わって来る一枚ですね。

f:id:Yoko_Takaki:20160916075803j:plain

真面目です。

 

続いてはこの2名!


いや、全員で写真撮ろうと思っていたものの、
時間が合わなかったから写真が分かれているとかそんなことはないですよ!

 

f:id:Yoko_Takaki:20160916080001j:plain

この二人はエンジニアで、左は以前Ansibleで燃えたまっつーです。

 

neo-developers.hatenablog.com

 

ピースを被せて「やったった」顔をしている右の彼(Sくん)も、近々ブログ記事を書くと思いますのでご期待ください!
彼の名前はその時にわかるはずです(•̀ω•́ )

 

f:id:Yoko_Takaki:20160916080637j:plain

二人で写真を撮ろうと思ったら裏切られたSくん

 

ゆかいななかま大募集


普通のエンジニアブログとは一味違う記事を意識して書いてみたのですが、
如何でしたでしょうか?(•̀•́)و

開発チームの雰囲気を感じて頂けでしょうか?

「もっとネオキャリアについて」知りたい!という方は、

弊社のHPや求人情報をチェックして下さい!

www.wantedly.com

 

 

 

これでうまくいく スマホアプリ開発 

ネオラボ事業部の76世代のマグナムです。

平日は、jinjer人事の開発プロジェクト、

VR系のプロジェクトマネジメント、

土日は、自分のブランドの革製品の製造、企画、販売を行う生活を営んでおります。

今回は、スマホアプリ開発のお話です。

f:id:haruhisamatsunaga:20160902083952j:plain

でも、その前にネオラボ事業部って何してるのかをお伝えしておきます。

ネオラボ事業部って?

ネオラボは、ベトナムオフショア開発・沖縄ニアショア開発・ラボ型の開発をしてます。

特長は、社員はどこで仕事しても良いことです。

ベトナムで仕事、

沖縄で仕事、

新宿オフィスで仕事、

自宅で仕事、

そう、どこでも仕事OKフリーダムです。

「子供が熱出ているので、今日は家で仕事します!」なんて融通がきく職場です。

どんなことしてるの?

常に20〜30程度のアクティブなプロジェクトが進行していて、

多くの場合プロジェクト進行管理、お客様との要件の決定や、仕様作成、デザインなどを日本側で行い、その他をベトナムや沖縄にて開発するというスタイルをとっております。

WEBシステムや、スマホアプリや、3Dビューア、360度動画再生アプリ、お話ができるアバターやら、3Dのホログラムを作ったり、、、WEBシステムも作るが箱物も作ります、、、えっと何してるんだ?

「xxやられてるんですよね?」という問いに対しての回答は単純ではないです。

当然、B2B、B2C、B2B2C、C2C など様々なビジネス形態のシステムを作っているのですが、

今回は、スマホアプリの話をしたいと思います。

どんなアプリに関与してきた?

2010年にはじめて、スマホアプリの開発マネジメントを行ってから、2011年に、スマホアプリを作る会社に入ってから、怒涛のごとく沢山のアプリケーションの開発マネジメントをしてきました。

  • 企業向けファイル管理アプリだったり、

  • 無料で動画が見られるアプリをたくさん作ったり、

  • キャリア決済と連動した動画アプリであったり、

  • 世界初のxi(クロッシー)動画アプリとか、

  • ゲームアプリだったり、

  • 音楽アプリだったり、

  • 出会い系アプリとか、

  • ショッピングアプリとか、

動画好きなので動画のアプリのことばかり覚えてます。

色々なアプリに関与してきて、

評価の高かったアプリケーションについてお話します。

評価が高かったアプリの特長

  • 企画側が本気
  • 開発側も企画側の作りたいものがどのようなものなのかを理解できている
  • プロトタイピングをする
  • 似たようなアプリがあるならば、良い部分悪い部分は研究しておく
  • 機能は沢山盛り込まない
  • Androidは後にできる状況であれば、後にする
  • 改善し続ける

上手く行かなかったプロジェクトや、上手くいったプロジェクトなど多数あります。

システム開発というものは、大抵の場合はうまくいかない事が多いのも事実です。

どうすると上手く、ぶれないものができあがるかを考察します。

さて、どうやるか?

  • 企画側を本気にさせる
  • 開発側も企画側の作りたいものがどのようなものなのかを理解できている
  • プロトタイピングをする
  • 似たようなアプリがあるならば、良い部分悪い部分は研究しておく

企画者の気合が十分で、何を作ればよいのかブレていないのが理想ですが、作りたいと思っているものはあるが、同じシステムのコピーやリニューアルでもない限り、最終形がイメージしづらいものです。

形がないものを形にしていく作業の連続です。

靴やスーツのオーダーであれば、ある程度形が決まっていて、

完成イメージが頭に浮かぶでしょう。

しかし、ソフトウェアは自由度が高いです。

プロジェクトの終盤になってから、

「あ、この機能も欲しい」「やっぱりこれも、、、」となることを体験したことがある方は多いと思います。

理由は非常に簡単です。プロジェクト終了に近づくに連れて、

全てが可視化されて、プロジェクトの理解が深まるからです。

そして、最後になって理解が深まり本気度が増すことにより、

要件が増大するという悪循環が起きます。

事前に、アプリ開発者やマネジメントを行うものは

スマホ上で動くアプリはどのようなものかを理解するべきであるし、みんなに理解させるべきです。

f:id:haruhisamatsunaga:20160901193930p:plain

Apple社が作っている資料

ユーザインタフェイスのデザインヒント

Apple社のサイトで閲覧できます。iPhoneに対してのUIの考え方が簡単にわかります。
ユーザインターフェイスのデザインのヒント

iOSヒューマンインターフェイスガイドライン

この資料について、「アプリケーション設計戦略」という章で、 述べられているアプリケーション定義ステートメントを作るという話は、 一読の価値ありです。
この資料全体はiOSの開発者、画面設計者、仕様設計者は必読です。 マネジメントを行う人は知っていると知識を広げることができます。

iOSヒューマン インターフェイス ガイドライン

でも、Androidだって勉強したい

マテリアルデザインというコンセプトが有り、現在のAndroidはこちらを参考に Accessibility - Usability - Material design guidelines

iOSAndroidの大きな差は Androidには戻るボタンがあるということ。

これにより、アプリが終了したり、前の画面に戻ったり、、、ユーザ体験が違います。 iOSしか使ったことない人は、Androidアプリをつくるときにはよく研究しましょう。

完全じゃない。企画者だって人間だもの。

これは、全てのプロジェクトに対して、経験や、想像力が異なるメンバーの集合なので、「仕方ない」ことなのです。

この「仕方ない」を、減らす努力はするべきで、デザインを先行させてプロトタイピングをすることで、ブレを少なくすることができます。

プロトタイピングというのは、完成形に近いデザインをスマホで見せるのです。

ある程度ボタンを押すと動いていくようなアプリケーションです。

この時、ボタンを押してリストがでたり、画像がでたり、映像がでたりしますが、このときはアテと言われてる本来とは異なる画像、映像を使うことが多いのですが、

アプリケーションの使い勝手などがわかります。

なぜプロトタイピングを行うのかというと、紙やPCでデザインの確認をしても

画面のサイズ感とは異なるのと、実際の画面で見ると発色も異なるため

是非、実端末での確認をおすすめします。

完成イメージに近いデザインの動きをスマホでみせるのです。

実際のスマホで動いている様子を見せて頭で思い描いている事のレベルを合わせます。

提案書では、魔法みたいなことが書かれていたが、その魔法がどのようにスマホの上で実現されるのかは、最終的にできあがる画面を見せるべきです。

ここで意識が合えば、大きなブレは減ります。

また、意識が合わなかったとしても「ラッキー」と思うべきです。

だって、リリースまであと1週間!というときに、「えっと、、、違いますね。」って言われても手の施しようがないです。

いまは、プロトタイピングをするのに便利なツールがでております。
Adobe Experience DesignはUIのアニメーションの制御(何秒でxxするなど)もできるようになっており、今後の正式リリースが楽しみなアプリです。

prott

Adobe Experience Design CC(Preview)

Adobeのツールは、iOSの標準のDesignが入っているので、非常に簡単にピコピコつくれます。開発者に説明する資料としても利用できます。(Preview版は無償で利用できます) f:id:haruhisamatsunaga:20160902091702j:plain

似たようなアプリの研究

開発するアプリに対して先駆者がいる場合には、そのアプリケーションを研究しましょう。

  • どのような機能があるのか
  • 使いやすいところ
  • 使いにくいところ
  • なぜ好かれているのか?

などを把握してみましょう。

また、常にランキング上位にあるアプリケーションはインストールして日常からチェックしておきましょう。

そうしないと、あのインスタのxxフィルターみたいなの入れたい、、、、

などと言われた時に、話ができないのです、、、、

機能盛り込み過ぎのアプリは使いたくない

スマホになって、アイコンをタップして起動するアプリケーションは、

アイコン=機能 と意識の中で使ってます。

あれも、これも、それも、、、、何でもできるんだぜ!ってアプリは、機能を呼び出すのにタップを沢山する必要があり、これが使いづらい所以です。

Androidはあとにしたい。

コンシューマ向けサービスを狙うのであればiPhoneのほうがシェアが大きく、端末の種類が少ないです。

そして、iPhoneユーザの方がAndroidユーザよりも積極的にアプリを利用します。

2016年1月現時点のStatCounter調べでは、

端末 シェア
iPhone 66.43%
Android 32.9%%

iPhoneの機種 iPhone 4S , 5 , 5S , 6 , 6S , 6plus , SE

を考えればよいですが、Androidは数百種類は存在します。

開発において大変な作業は、確認作業です。

Androidの場合には、検証費用はiOSの5倍程度に膨らむことがあります。

改善し続ける

アプリケーションを常に改善するつもりで作成しましょう。

ワンショットで作って終わりというよりは、定期的にアプリケーションを更新することを想定しておく必要があります。

コンシューマーサービスの場合には止まったら、他のサービスに追いぬかれてしまいます。

常に改善していく必要があります。

最後に

システム開発のプロジェクトマネジメント、デザイナー、開発者 絶賛大募集中です。 こちらからご応募ください。(ネオラボ希望と言っていただければ、大丈夫!) ↓

www.wantedly.com