プログラマーが一日中ずっと触るもの

はじめまして、イノベーター・ジャパンの福岡オフィスで働いている @akase244 です。 今日は私が使ってる「キーボード」の話をしてみようかと思います。

「プログラマーが一日中ずっと触るもの」というタイトルをつけてみましたが、みなさんは普段どんなキーボードを使われているでしょうか。

メーカー製のデスクトップPCであれば標準で同梱されているキーボードかもしれませんし、ノートPCであれば特に意識せずにそのまま使われている場合もあるでしょう。

私の場合はというと、KB Paradise社のV60というキーボードを使っています。

f:id:akase244:20160630102358j:plain:w500

続きを読む

メンバーの長時間労働を食い止めるSlackBotを作ってみた

どうもこんにちは、@yamacho1111 です。

この記事は、以前書いた記事「時差出勤・リモート勤務の在席管理を解決する「iruca」の紹介」と「Slackで時差出勤・リモート勤務の在席管理を解決する」を前提としています。
まだご覧になっていない方は、先にこちらをお読み頂ければ幸いです。

tech.innovator.jp.net

tech.innovator.jp.net

さて、本題に移ります。
弊社では、裁量労働制を採用していますが、長時間労働・遅い時間まで働くことは推奨しておりません。
推奨はしていないのですが、集中して作業をしていると、ついつい遅い時間になってしまっている、という事はよくありますよね。

他の会社では、なるべく早く帰ってもらうために、例えば、夜遅くなると自動でオフィスの照明を消してしまうという話はよく聞きます。

しかし、弊社はリモート勤務も可能です。

想像してみてください。
みんながリモート勤務していた場合に、オフィスの照明が消えてどうなるでしょう?

続きを読む

Slackで時差出勤・リモート勤務の在席管理を解決する

どうもこんにちは、@yamacho1111 です。

前回の私の記事では、弊社の時差出勤・リモート勤務のステータス管理で利用している「iruca」というサービスをご紹介しました。

tech.innovator.jp.net

記事の最後でも述べましたが、ステータスの更新や確認のために、毎回ブラウザでサービスを開くというのは、少し面倒に感じるかもしれません。

しかし、Slackを普段からご利用の方には朗報です。
「iruca」には、Slack連携機能があります。

(弊社では、社内のコミュニケーションツールとして「Slack」を導入しています。)

今回は、この「iruca」をSlackと連携する方法をご紹介します。

続きを読む

デザイナーだけどLaravelはじめてみました

f:id:j1206047400:20160630120344j:plain

はじめまして。デザイナーの9ooky(読みは「クッキー」)です。
会社では主にウェブサイトのデザインとコーディングをしています。

「先週末にドットインストールLaravel5入門を一通りやってみました云々...」と話していたら、
「それは面白い。是非エンジニアブログで記事に」とエンジニアーズに誘われまして、こちらで記事を書くことになりました。

なぜやったのか

まずはじめに、なぜデザイナーである私がドットインストールのLaravel5入門をやったのかというと、

  • もともと、Laravelのビューファイルを編集することはあったが、イマイチどうなってるのか分かってなかった。
  • 別プロジェクトで、より積極的Laravelのビューファイルを編集する必要が出てきた。
  • よく分からないものを触るのは怖いしキモチワルイ
  • 分からない部分を毎回エンジニアさんに質問するのが申し訳ない
  • だったら、知ればいいじゃない

と思ったからです。 また、以前から「デザインだけでなく動くものを作れるようになりたい。」という思いでプログラミング全般に興味があったことも大きいと思います。

デザイナーがLaravelを始めることは、やや敷居が高いと思われるかもしれません。
私の場合は、

  • PHPやMySQLやローカル開発環境の作り方をドットインストールでちょっぴりやったことがある。
  • Ruby on RailsのチュートリアルやAngular.jsのチュートリアルをちょっぴりやったことがある。

と、ちょっぴりプログラミングの練習をしていたのでそこまでハードルは高くなかったです。

感想

一通りやってみて分かったことは

  • 開発の流れを知ることができた(覚えてはない。
  • フォルダ構成を把握できた
  • ビューファイルの基本的な書き方が分かった。
    • 共通レイアウトの部分は、そのためのビューファイルを作り、そこにまとめること。
    • 各ページで表示が異なる部分は、 @yield('[セクション名]') を使って各ページの各セクションを呼び込ませること。
    • 各ページは、 @extends で共通レイアウトのビューファイルを指定すること。 等

です。特にデザイナーが知っておいたほうが良さそうな「ビューファイルの基本」を知ることができたのは良かったです。
一方で、「ビューファイルの基本」以外の部分(MigrationやルーティングやController...)はよく分からなかったです。
なんとなく「こんなことをしてるのね」と分かった程度です。

実際に仕事をして感じたこと

実際Laravel5入門をやった後に仕事をしてみると、ビューファイルに書かれてる内容が分かるので、よく分からないものを触る怖さが減りました。
しかし当前のことですがLaravel5入門では、Laravelのすべてを網羅してません。 ですので実際仕事をすると、しょっちゅう分からないことに遭遇しております。

やはりデザイナーが問題なくビューファイルを書けるようになる為には、もう少しLaravelの知見を広げる必要があるなと感じてます。

そんなわけで、デザイナー9ookyの挑戦はまだまだ続きそうです。

時差出勤・リモート勤務の在席管理を解決する「iruca」の紹介

どうもこんにちは、@yamacho1111 です。

今回は、合同会社テンマドさんの提供している「 iruca 」というサービスを紹介したいと思います。

現在、弊社では、裁量労働制を導入しています。
生活スタイルに合わせて、時差出勤・リモート勤務可能となっています。

このような勤務形態の場合、次のような問題が生まれます。

  • 他のメンバーが、仕事中なのか休憩中なのか、わからない
  • 他のメンバーが、いるのかいないのか、わからない

困りますね。

続きを読む

#Innocafe で Laravel 勉強会を行いました

こんにちは。エンジニアの @localdisk です。普段は福岡オフィスで働いていますが、6/17 に Laravel 勉強会という企画が持ち上がったのではるばる東京までやってきました。

今回は 「Laravel の効率的な学び方」という題名で発表させていただきました。

speakerdeck.com

スライドの補足説明

Laravel に限らずフレームワークを理解するには 読んで -> 書いて -> 動かす というサイクルをぐるぐる回すことになります。そうやって少しずつ理解が深まっていくわけですね。そのサイクルをできるだけ効率的に回すにはどうすればよいのか…というのが今回のお話。その中で特に強調して伝えたかったことがいくつかあります。

IDE を使おう

ソースコードを読むという点においては、IDE は非常に便利です。ショートカットを駆使して定義元に飛んだりメソッドを使用している箇所に飛んだり、ブックマークをつけたりと非常に多彩な機能があります。IDEを使ってストレスなく効率的に学んでいきましょう。

コアを読もう

Laravel の大きな特徴である、サービスコンテナ ( Illuminate\Container\Container )・サービスコンテナを継承しておりアプリケーションの管理を行う Illuminate\Foundation\Application そしてサービスプロバイダとファサード。この辺を読んでおくと Laravel に対する理解が深まります。

知っていたら捗るところ

Laravel には便利なメソッドがたくさんあるのですが、マニュアルではそこまで触れていない所が大部分です。なのでソースを読むと発見がたくさんあります。特に読んでおくと捗るのが

  • Eloquent
  • Http
  • Event
  • Queue

ですね。

チェンジログを読む

変化に追従するために一番よいのはリポジトリを watch することですが、時間を作るのはなかなか難しいと思います。そこで Release Notes を読むことをおすすめします。3ヶ月ほど前から、かなり詳細に書かれるようになりました(というか tillkruss (Till Krüss) さんがリリーズ後にまとめてくださっています。ありがたや)

ブラウザでの表示確認は面倒

ここまでは 読む ということに焦点をあてて説明しましたが、ここからは 書いて、動かす というところに焦点をあてて説明しました。php artisan serve でビルトインウェブサーバーを起動してブラウザ確認、変数の中身が見たいときは dddump 関数を使う…というのは手間がかかるし、各所にいれた dd を消し忘れてひどい目にあうのでもっと便利な方法を紹介しました。

tinker コマンド

Laravel についている REPL です。PsySH を wrap しており、 php -a に比べるとかなり高機能です。ちょっとした動作確認はこれが使うとよいです。そして…

テストを書く

名言ですね。テスト書きましょう。完璧じゃなくていいんです。動作確認のつもりでカジュアルに。まずは心理的障壁を下げるのが大事です。

Laravel を学んだ先にあるもの

Laravel は PHP 製の Web アプリケーションフレームワークです。これだけではプロダクトは完成しません。Laravel を起点に関心を広げて学び続けていきましょう!

LT 紹介

Aspect Oriented Architecture ytake(@ex_takezawa)さん

speakerdeck.com

Laravel with SendGrid s-ichikawa(@ichikawa_0829)さん

speakerdeck.com

  • Mail 配信サービスである SendGridのドライバを作ってパッケージとして公開した話
  • なければ作る!素敵です
  • SendGrid を使う機会があったら僕も使ってみようと思います

Laravel歴=PHP歴な私が Laravel布教した話 しょこ@CodeHolic(@okoysm)さん

speakerdeck.com

  • Laravelを始めて試行錯誤した記録と布教活動の話
  • 布教なかなかうまく行きませんよね…すごいわかる
  • ユーモアに溢れててすばらしいLTでした

Laravelのヘルパー ボォ!!(@takahashiyuya)さん

speakerdeck.com

  • ヘルパー便利
  • 便利な関数がたくさん!
  • だけど、使いドコロは気をつけたほうがよいという話

Laravel Console cakephper(@cakephper)さん

www.slideshare.net

  • Console の紹介と、市川さんの大好きなビールの紹介を兼ねた愛とユーモアが溢れているスライドでした
  • Symfony Console を wrap した Laravel の Console はなかなか便利ですよ

まとめ

和やかな感じの集合写真。

f:id:localdisk:20160620161009j:plain

最初はドキドキしてたのですが、大いに盛り上がって非常に楽しく参考になる勉強会になりました。スピーカー・参加者、そしてスタッフの皆様ありがとうございました。そしてお疲れ様でした。機会があったらまた企画して2回目をやりたいです。