投稿者「kenji」のアーカイブ

インターンシップ 16日目 最終日!

kenji|2011年09月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、最終日16日目です。
今日は

 ・今まで書いたコードの内、簡単なもののリリース作業
 ・外部API連携機能の設計の引継ぎ

をやりました。

16日間のインターンシップ ふりかえり

<リートのよさ:開発の技術力&品質の高さ>

 ・メンバーの方の個々人の技術力が高い、協力して開発する体制がある
 ・創業時から培ってきたノウハウがredmine(wiki)や開発手法に蓄積して、
  アクションにつなげている
 ・現状をよしとせず、もっといい方法を常に探求している

<サービスとしてのランサーズのよさ:わかりやすさ>

 ・プロダクトオーナーが一貫してユーザー視点のものづくりをしている
 ・あらゆる方法で、ユーザーの声をサービスに取り入れようとしている

リートで16日間、インターンシップを経験させていただけましたが、毎日が新鮮な発見の連続で、ほんとうに楽しかったです!

おまけ

お仕事のあとは壮行会っす。
16日間、本当にありがとうございました!

インターンシップ 15日目 プラグインの活用

kenji|2011年09月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、15日目です。
インターンシップも残すところ2日(今日を含め)。

今日は、外部API(twitterなど)との連携部分の機能の設計練習をしました。あとはできるだけ開発工数を抑えるために、プラグインを探していたら2つほど見つかりました。(ライセンスの調査はまだですので、使っていません。紹介のみです)

CakePHP-Twitter-API-Plugin;
https://github.com/tfmagician/CakePHP-Twitter-API-Plugin

twitter_kit;
https://github.com/elstc/twitter_kit/tree/master/models/behaviors

今日の気づき

最近の開発でよく言われることの一つに、

 ・車輪の再開発を避けるためにできるだけプラグインや、他人のソースを活用。
 ・プラグインや他人のソースを使うなら、中身をしっかりし理解して使う。

これって、言語やAPIなど周辺知識が十分にないとなかなか辛いと実感中。とりあえず、可能な限りプラグインのソースを読み進めてみます!

おまけ

袈裟丸さんでラーメンを食べてきました。
福岡のラーメンよりおいしいかも!(美味し過ぎて、写真撮り忘れましたw)

http://r.tabelog.com/kanagawa/A1404/A140402/14021802/

インターンシップ 14日目 調査・UI設計

kenji|2011年09月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、14日目です。

インターンシップも残すところ4日(今日を含め)となりました。みなさんのご好意で最終日までにある一つの機能の開発を調査・UI設計~本番リリースまでを経験させていただけることになりました。

いろいろとご検討頂いて、本当にありがとうございます。

今日の気づき

現状調査やU/I設計を生まれてはじめて経験しましたが、自分の立てていた仮説と実際のユーザーのニーズのズレを沢山実感できました。

また、Webの開発はユーザーの直接の声を聞くのが難しいですが、そんな中でユーザーのニーズを拾い集めるためのノウハウをじっくり教えて頂きました。こういった自ら考えながら開発を進めていく姿勢をほんのさわりでも経験できて本当に良かったです!

おまけ

今日は近くを散歩していたら、蔵を見つけました。鎌倉やっぱりかっこいいっす!

img_0076

インターンシップ 13日目 フレームワーク

kenji|2011年09月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、13日目です。今日は主にちょっとしたチケット(機能追加、管理画面のメンテ)をメインに作業をしました。以前は全く手がつかなかったモデル周りのチェックが、ホンの少しずつできるようになってきました。

今日の気づき

今日はReetで初めて経験したフレームワークを使った開発について。

以前、SEをやっていた頃はフレームワークは使わず、

 ・ネットや書籍から使えるソースをアレンジ
 ・オレオレコーディング規約

おかげ様で、数ヵ月後に自分が作ったコードを修正できなかった。。。なんて経験がありました。

一方で、フレームワーク(&コーディング規約、テストフレームワーク)を使うことで、別の人が書いたプログラムでも何をやっているかすぐ分かるんですよね。

おそらく、大半のソフトウエア開発では常識でしょうが、以前の場所にはなかったので、素晴らしいと感動してします。

おまけ

教会、第二弾!鎌倉っておしゃれな教会がほんと多いですね~

img_0072

インターンシップ 12日目 問題と対策

kenji|2011年09月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、12日目です。やっとですが、9日目から取り組んでいた機能のコーディングまで完了しました。
当初は2日が目標だったので、約2倍の工数がかかってしまいました。

今日の気づき

今回こんなに時間のかかった原因と対策を考えました。

(問題)
 コーディングで小さな間違いを連発。原因調査に時間がかかる。
(対策)
 コーディングの際に小さなチェックを繰り返す。
 チェックしやすい、わかりやすいコードを書く。
コーディング規約を守る。

(問題)
 テストを意識せずにコードを書いてしまい、後から修正が多発。
(対策)
 テストコードを作ってコーディングする。テストファーストを意識。

この中の幾つかは、すでにインターンシップの中で既に経験済。。。
学べてないことを改めて、反省です。次回こそ、活かしていきます!

おまけ

朝顔ってこんなに咲くんですね!

img_0069

インターンシップ 11日目 「思う」と「実行する」

kenji|2011年08月22日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、11日目です。

今日は9&10日目から引き続いている機能開発を継続しています。
今日はひたすらテストケースを作成していましたが、小さなミスをいくつもつまずいてしまい、終わらず。。。

今日の気づき

今回の開発がこれまでの開発と違うのはとっても小さいですが、1から機能を開発している点です。そのため、みなさんが作っていた設定などが足りずにひたすら戸惑うばかりでした。

誰かが作っているものを見ると自分にも作れそうだと錯覚することがありますが、「思う」のと「実行する」のは200%違いますね。自分の日頃の行いを反省できて、非常にありがたい一日でした!

おまけ

会社の近くの教会です。映画に出てきそう!

img_0068

インターンシップ10日目 合理性&保守性

kenji|2011年08月12日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、10日目です。今日は9日目に続いて、ちょっとした機能の開発です。テスト完成が目標でしたが、残念ながら間に合わず。。。あとは、現行画面のほんの少しの修正を一つやりました。

今日の気づき

相変わらず、自分が思っている以上にコーディングに時間がかかってしまっています。それで理由をずっと考えていましたが、今の自分には動くコードを書く能力は多少あっても、まだまだ合理的&保守性があるコードを書く能力がないんだと気づきました。(当たり前のことを言っていますが。。。)

でも、これは複数人が共同で作業する場所でないとなかなか気づけないんですよね。これに気づけただけでも、十分にインターンシップの成果だと思います。残り1ヶ月、ほんの少しでも合理性&保守性のあるコードを書けるよに頑張ります!

おまけ

鎌倉駅の近くの小学校です。かっこいい!

10e697a5e79bae

インターンシップ9日目 “ユーザー主体”の姿勢

kenji|2011年08月12日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、9日目です。午前中はコードレビューして頂いた部分の内容をひたすら修正。午後からは、シンプルな機能ですが一部分を設計&試しにコード作成をしていました。

進捗はやや遅延中ですが、幸い皆さんのアドバイスのおかげで、大きくコケることなくすすめることができています。

今日の気づき

これも当たり前のことですが、リートで開発をしている中でどんなに簡単な機能でもユーザーに迷惑をかける可能性があると実感しています。この前提を決して忘れないようにして、引き続きコーディングを勉強していきます!

やっていることは違いますが、思いは同じかも。

「“ユーザー主体”の姿勢が開発のスピードと質を高める」

http://www.atmarkit.co.jp/im/carc/serial/userprincipal/01/01.html

おまけ

コンクリートの中に鮮やかな草が生えていました。すごい!

9e697a5e79bae

インターンシップ8日目 素早く、解りやすく

kenji|2011年08月12日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、8日目です。
今日は、いくつか表示部分の補正をしました。
それから、主にコードレビューをしていただい部分を修正。

Satoshiさん、ご丁寧に本当に有難うございます。3歩進んで、3歩下がっている気もしますが、少しずつcakephpのコードを読めるようになってきていると思います。

みなさんのご指導に感謝です。

今日の気づき

今日は前回と引き続き、周りの人が読みやすいコードを書くことが重要だと経験できました。
素早く、解りやすくを目標にリートでコーディングを引き続き、勉強していきたいと思います!

おまけ

生まれてはじめて、「さーたーあんだぎー」を食べました。めっちゃ美味しかったです!

img_0057

インターンシップ7日目 SQL

kenji|2011年08月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、7日目です。今日は、残課題の表示の絞り込み機能の修正を行いました。これは工数的には3日位かかってしまいました。(コード量は100~200stepですが。。。)

cakephpの便利さにはいつも感心していますが、命令の意味を理解しないままコードを書いてしまい、ひたすら迷っていました。。。Satoshiさんの助けを借りて、ようやく完了です。

今日の気づき

フレームワークを使うときにはその動きをしっかり理解して作るべきと改めて痛感しました。また、コードを書くときには他の人が次に読むときにできるだけわかりやすく書くことも大切だと思います。全部当たり前のことですが、身を持って実感できました。

おまけ

柑橘類!やっぱり鎌倉は、自然が豊かです。

img_0056

インターンシップ6日目 コーディング技術

kenji|2011年08月09日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ、6日目です。約一週間ぶりのReetです。

今日はRedmineでコードレビューをしていただいたので、その内容に従ってこれまでに書いたコードの修正をしました。

お忙しい中で、ご丁寧にコメントを書いて頂けたので、勉強になりました!Satoshiさん、ありがとうございました。

今日の気づき

最近あるサイトで、コーディング技術を身につけるなら他の人のコードを読むのが一番と書かれていました。Reetはコーディング規約がしっかりしているし、コードの質が高いので残り日数で出来る限りコードを読んでいきます!

おまけ

img_0054

水は生命の源!Reetなら無料で飲めます!

インターンシップ5日目 リリース手順

kenji|2011年07月27日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

5日目のお題は、

 ・ユーザー向け画面の絞り込み機能の追加
  →Cakephpのcomponentのページネーションに苦戦中。
   なんで受け取る配列の形式が変化するんだろう。。。
 ・cakephp shellバッチ作成
  →なんとか完了。ただ、こんなに簡単なU/Iでも
   考えないといけないことが沢山あって勉強になりました。
   今からレビューが恐ろしいっす。
 ・1~4日目までのコードレビュー分修正。
  →コーディング規約がしっかりしているので、非常に勉強になっています。
   あと、Redmineのコードレビュー機能超カッコいいです。
   早速、自分の家でもRedmine入れようと思います。

今日の気づき

リートでは短いスパンで次々新しい機能をリリースしています。
そのたびにリリース手順を作ってコードやデザインを丁寧にチェックしています。
SEをやっていた時には、リリース手順が担当者任せになっていて、
いつもユーザーに迷惑ばかりかけていました。
リリースノウハウもリートで吸収していきたいと思います!

おまけ

私事ですが、この前友達の結婚式で福山に行ってきました。
ベタベタですが広島おみやげはやっぱり、「藤い屋のもみじ饅頭」です。

img_0051

インターンシップ4日目 作業量を見積もる

kenji|2011年07月14日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

4日目は開発環境で、ユーザー画面の修正を開始しました。この中で、cakephpのpagenationを初めて触って見事に玉砕しました。まだ、完全には終わってませんorz

でも少しずつですが、着実にcakephpの世界に触れられていると思います。

今日の気づき

システムエンジニアの仕事をしていた時に、先輩からSEは自分の作業を正確に見積もるために、

・自分がやるべき事をしっかり洗い出す(優先順位をきめる)
・洗いだした項目の作業量を正確に見積もる
・リスクを管理して予め報告する
・PDCAを回して、カイゼンに努める

この4つが大切だと教わりました。リートのエンジニアは上の4つがすごいので、残り2ヶ月間でそのあたりも一緒に勉強したいと思います。

おまけ

リートのある鎌倉は、自然を近くで感じられる、エンジニアには最高の環境です!

img_0050

インターンシップ3日目 テストファースト

kenji|2011年07月13日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

今日も2日目に続いて、管理用の画面のデータ更新の部分のコードと格闘していました。さっきなんとか出来上がって、今はテストケースを拡充している状況です。

幸い、デグレードは発生していないのかなと思いますが、念のためテストケースをきっちり追加するようにします!

今日の気づき

昨日、自宅で3年前に作ったプログラムにバクがあるのを見つけました。マニュアルテストだけでは、その後の開発で増えた機能の影響度をしっかり把握しきれないと痛感。。。

テストファーストの開発、バグの無いサービスづくりをリートで勉強していきたいと思います!

おまけ

img_0049
リートでおすすめのCAKEPHP本です。CAKEの機能を丁寧に書いているので、長く使えそうです。

[写真]

Amazon Pocket詳解 CakePHP辞典

インターンシップ2日目 開発環境の紹介

kenji|2011年07月11日
インターンシップ

この記事は サマーインターンシップ2011 のプログラムの一部として掲載させて頂いております。インターンシップ参加者の個人的な感想となりますことご了承ください。

今日のお題

インターンシップ2日目は、cakephpで管理画面用のデータの処理を作っていました。(未だ完了していませんが^^;;)

ということで、まだcakephpを語れるレベルではないので、今日は開発環境を紹介します。

開発環境の紹介

今回のインターンシップの開発ではフロントサイドがWindows、開発機がLinuxを使って開発を行っています。Windwosからターミナルを呼び出すエミュレータはPoderosa、Linuxの中でのエディタはVimを使っています。

このPoderosaはなかなか高性能で、ウインドウ分割が簡単で、複数のファイルを同時に見れるのはすごく楽です。

http://ja.poderosa.org/

ws000000

Vimも”:tabnew”とコマンドを打てば、簡単にタグエディタ化します。まだ、ショートカットキーや機能が覚えきれていないので、ぎこちないですが、まずはVimをしっかり使えるようにコードをできるだけ触っていくようにします!

ちなみに、Linuxの開発環境も仮想環境で一台用意してもらえました!

おまけ

Macでなら、iTermがPoderosaに近い機能を持っています。よかったらぜひ!

http://iterm.sourceforge.net/index.shtml