読者です 読者をやめる 読者になる 読者になる

新訳 道は開ける

新訳 道は開ける

を読みました。

 

不安にならない方法について、いろいろな事例を挙げて、ひたすらに書かれていたという印象。

まとめると、こんな感じだったと思います。

・1日を区切りとして、過去は振り返らない。

・悩みを分析して、対処する。

・最悪を想定して、備える。

・不安を感じる暇が無くなるくらい、忙しくする。

・時には祈る。

 

超要約ですが、こんなことが、延々と続き、さらには、繰り返し読むことを推奨するとありまして、これらを習慣にするには、確かにそうなんでしょうけれども、他の本も読みたいし。。

まあ、くよくよしてても仕方ないぞってことですね。

ruby on railsでwebアプリケーションを作った

勉強と趣味を兼ねて、ruby on railsでwebアプリケーションを作りましたので、所感を書きます。

 

成果物はこれ。 

午後ローデータベース

みんな大好きテレ東「午後のロードショー」のデータベースです。

日にち、タイトル、特集から映画を検索することができます。

 

まずは学習。

ドットインストールと公式チュートリアルをやりました。

ドットインストール Ruby入門

ドットインストール Ruby on Rails 4入門

railstutorial.jp

 

これで、だいたい概要をおさえました。

あと、分からないことは、調べながら進めていく。

ドットインストールは要点のまとまり具合は、本当に素晴らしいです。

 

開発の流れは、

データベースを設計。

モデルを作成。

コントローラ、ビューを作成。

こんな感じでやっていきました。

 

まず、コマンドでテーブルとモデルを作成。(DDL不要)

作成されたモデルにテーブルの関連を書くと、ActiveRecordというORMでテーブルアクセス処理を提供してくれる。(SQL不要)

この仕組みはCakePHPに似ていて、javaのentityをいちいち作るのは面倒ないので、この単純さは好き。(CakePHPRuby on Railsを基に作られている)

あとは、コントローラに業務処理、ビューに画面生成処理を書いて、ルーティングを設定。

この繰り返しでやりました。

 

ライブラリも管理されていて、サイト情報取得にnokogiriバッチ処理wheneverを使いました。

こういった便利機能が手軽に利用できるところも助かります。

asset pipelineは使いませんでした。

 

開発環境は、以下を利用。

os:CentOS

webサーバ:nginx + unicorn

データベース:sqlite

バージョン管理:git

 

単純なサイトというのもあったと思いますが、印象としては、サクサク開発できて、楽しかった。

このサイト、全然、アクセスがないので、もっと検索されるようにしたいと思います。

最新フロントエンドフレームワークを利用した開発事例!

ヒカ☆ラボの勉強会に参加してきました。

atnd.org

 

テーマも興味があったのですが、社内で勉強会をやろうと計画していて、その参考にという視点でも勉強させてもらいました。

その点についてまとめます。

 

・全体の構成

発表者と別の進行役が、司会進行。

最初に全体の説明をし、各発表。

最後に配布したQRコードから、googleアンケートフォームを使ったアンケートを実施。

アンケート内容は、各発表が、面白かったかとか、今後やってほしいテーマはみたいなものだった。

終了後、軽食付き懇親会。

懇親会を除く時間は1時間40分。

 

・資料について

登壇者は3人でしたが、全員PCはmac

keynoteの資料は、power pointよりも、圧倒的にイケてる。

 

・発表の構成

最初に、自己紹介、会社紹介。

最後は、ご清聴ありがとうございましたで締める。

時間はひとり15分の予定だが、全員押し気味。

時間があれば、質疑応答をする予定だったようだ。

 

・気づいたこと

笑いを入れると盛り上がる。

実演を入れると興味をひく。

 

弊社でやるとしたら、こんな感じがよいかと考えた。

・いろいろな人がいるので、深入りした内容よりも、0ベースから理解できる内容のほうが良さそう。

・アンケートをスマホから回答してもらうのは、エコでスマート。

・懇親会は、軽食を目当てに集客できるかも。

エンジニアのためのGitの教科書 実践で使える! バージョン管理とチーム開発手法

エンジニアのためのGitの教科書 実践で使える! バージョン管理とチーム開発手法

を読みました。

 

この本は、概念と基本コマンドをそこそこに説明したあと、運用にページを割いて説明しているところが特徴的でした。

バージョン管理は、コマンドは覚えた。さあ、使うぞ!となったときに、じゃあ、みんなでどう使うの?というところが最も重要だと思うので、コマンドだけでなく、運用に比重を置いて言及している点が良かった。

コマンドは数が多いので、必要に応じて、調べ、その中で、よく使うものを覚えていけばいいと思います。

ということで、初学者にお勧めできる内容だと感じました。

 

運用ですが、私がgitを使うときは、git flowを使います。

git flowは、こんな感じ。

qiita.com

 

リリースで特別、何かをすることがあまりないので、releaseブランチは省いて運用しています。あとは、hookで、push時に、最新ソースをテスト環境へデプロイするようにしたら、便利でした。(hookは、svnでも存在する仕組みですが)

自社サービス等で、継続して開発していくようなプロジェクトでは、運用は工夫のしどころだと思うんですが、弊社の業務は一度作ったら終わりということが多く、とりあえず履歴が残ればいっかとなりがち。gitは難しいという理由から、svnを採用したプロジェクトもある。それでも、問題ないのだけれど、gitは、多くの人が使っているものだから、もうシステム開発のスキルとして必要ですね。

 

svnからgitに切り替えて便利だと思う点は、ローカルで簡単にブランチが作れるので、現行バージョンを残しつつ、容易に試行錯誤ができる点。

みんなで覚えて、どう使ったらより快適に開発ができるかということを考え、推進してきたい。

プログラムの生産性

今、進行中のプロジェクトで、システムの想定開発ステップ数を聞かれている。
それに対する実績ステップ数で、製造工程の進捗率を出すのだとか。
作ってみないと分かるわけないのだけど、簡単に分かりませんとも云えないので、
見積もりの開発工数 × プログラムの生産性
で出してみることにした。

プログラムの生産性をいくつにするか。
「ソフトウェア開発白書2014-2015」からプログラム言語ごとの生産性を見てみる。
新規開発、改良の(SLOC/人時)の中央値を抜粋した。
(SLOC/人日)(SLOC/人月)は、それぞれ×8、×160したものとする。


主要開発言語別SLOC生産性の基本統計量(新規開発)

言語 生産性(SLOC/人時) 生産性(SLOC/人日) 生産性(SLOC/人月)
COBOL 5.6 44.8 896
C 5.3 42.4 848
VB 5.8 46.4 928
Java 5.8 46.4 928


主要開発言語別SLOC生産性の基本統計量(改良)

言語 生産性(SLOC/人時) 生産性(SLOC/人日) 生産性(SLOC/人月)
COBOL 3.5 28 560
C 3.5 28 560
VB 4.0 32 640
Java 3.5 28 560

Javaの新規で、1時間に5.8行。
ちょっと、少ない気がするが、慣らすとそんなものなのかな。
ひとまず、これを基準にやってみます。

MacBook Airのバッテリー交換

私の使っているMacBook Airが、最近、再開するたびに、起動画面からになってしまった。

普段は、前回の作業状態から再開してくれていたのだけど、なにかおかしいと思い、調べた。

 

バッテリーアイコンにマウスオーバーすると、「いますぐ交換」の表示。

いつもは充電中とか、充電のパーセンテージが表示されていたが、充電できていなかったか。

 

バッテリーが限界を迎えたら、どうすればいいのか調べてみる。

tamkaism.com

 

店頭で交換する方法と、自分で交換する方法があるようです。

店頭での交換は15,000円程度、自分で交換すると7,000円くらい。

自分で交換する方法でも簡単みたいなので、こっちでやってみました。

 

まず、「このMacについて」から、モデルを確認します。

私のMacBook Airは、

11-inch, Mid 2011

でした。

2011だと、5年使ってるのかな。

充放電回数は496。

公式情報だと1,000回が寿命の目安とあるのだけど。

 

amazonで「A1406」を検索。

バッテリー Apple アップルMacBook Air 11インチ A1406バージョン 対応互換 A1370 2011 A1465 2012

 

一番安いこれを買いました。

レビューが少なく、若干不安でしたが、問題ありませんでした。

何も書かれていませんが、PCの裏蓋を開けるための専用ドライバーも付属しています。

 

ネジを外して、バッテリーを交換して、元に戻す。

簡単でした。

スマートフォン(asus zenfone2 laser)の液晶が割れた

先日、朝、駅でスマートフォンからメッセージを打っていたら、飛び込み乗車で走ってきた女性が私にぶつかってきて、スマートフォンを落とした。

液晶、割れました。

女性は電車。

なんてこったい。

ケース、なにやってる!

まだ、買って半年の端末が。。

 

どうすればいいのか調べました。

液晶の割れたスマートフォンで。

この見づらさはものすごいストレスですね。

 

調査結果は、直る!

光明が見えてきました。

二通りの直し方がありました。

 

1.自分で直す

www.magarisugi.net

aucfan.com

 

amazonで修理キットが販売しています。

 

SKILIWAH® Asus Zenfone2 Laser ZE500KL専用 液晶パネル タッチパネルデジタイザー LCDスクリーン 修理用キット 工具セット付き ブラック

 

これを買って、さらにドライヤーと両面テープが必要になるようです。

4,000円程度のお金と2時間程度の時間がかかり、後者のリンクのように失敗するリスクがある。

 


2.店舗で直す

smartphone-sd.com

 

秋葉原ASUSの店舗があり、そこで修理したという話。

9,720円と自分で直すよりはやはり高いですが、1時間くらいで、対応してくれるようだし、会社から近いので、こっちがいいかなと思いました。

 

その日のうちに、秋葉原へ。

店頭で修理する方法と、工場で修理する方法があると云われました。

店頭は、すぐに液晶の修理はできるけれど、修理後、チェックをして、他に異常があった場合に対応できないので、元に戻され、工場行きになる。

工場は、数日の預かりとなり、液晶以外に異常があった場合も対応ができるが、データを出荷状態に戻してしまう。

動作でおかしなところはなく、アプリの再インストールとか、超面倒くさいので、店頭でお願いしました。

 

翌日、9,720円払って受け取りました。

完璧です。直ってよかった。

電車等で、液晶の割れたスマートフォンを使っている人を結構見かけますが、意外と簡単に直るから、直したほうがいいよ。

iPhoneだとこうはいかないのかもしれませんが。

 

スマートフォンの落下防止として、こういうのも有効なのかも。

メディアカバーマーケット 【スマホ ホールド リング と 液晶保護フィルム(反射防止)セット】ASUS ZenFone 2 Laser ZE601KL[6インチ(1920x1080)]機種 スマホを指1本でホールド リングスタンド

 

今回の一件は、スマートフォンばかりやっているなよという啓示と受け止めました。

もっと本を読もう。