Daily

お金に振り回されないための、お金の下ろし方

"財布の中にお金がなくなったら、ATMでお金を下ろす"私は半年程前まで、上記のようなお金の下ろし方をしていました。しかし、今は全く別の下ろし方をしています。 下ろし方を変えた理由はただ一つ。「ATMの残高が、意図せずどんどん減っていった」からです。…

早朝筋トレを始めてみる

一時期、早寝早起きを徹底して行なっていたのですが、最近はあまり早起きをできていないです。。 その理由にはいろいろあるのですが、その中の一つに、「朝早くに起きてすることが、あまりはっきりと決まっていなかった」ことがあると思います。このことと、…

「新しいもの(価値)をどんどん生み出したい」と思う理由

今日、twitterで、下記のようなことをつぶやきました。 「新しいものをどんどん生み出さないといけない環境」に身を置きたい。 身を置きたいというよりも、周囲をそのような環境にするための行動をとっていく。 これらのつぶやきを後になってふりかえってみ…

料理≒仕事

今日、久々に料理をしていて、ふと思ったことがあります。それは、「料理をする上で考えることと、仕事をする上で考えることが似ているな」というものです。料理をする上で考えることは、 ・「何を作る?」 ・「各作業に、どれくらい時間がかかる?」 ・「各…

「ありがとう」へのリアクション

今日の夕方頃、電車の中で座っていたところ、ある停車駅で年配の方が乗車してきました。私の近くにたまたま来られたので、席を譲ると「ありがとう」と言って頂きました。しかし、若干の照れもあったからか、その「ありがとう」に対して会釈をするかしないか…

11/28(「俳句」を学ぶ)

俳句を始めてみようと思っています。特に大きな理由はありませんが、語彙力をつけたり、あるいは表現力を高めたりすることにつながるかなと思っています。ここ数日間、俳句を考えてみたのですが、個人的にイマイチぱっとしません・・・。頭が固い性格も重な…

2011/11/2

<仕様の検討 & モデル構造の検討>アジャイル開発を行い始める前には、プロダクトオーナーと入念な議論を行う必要がある。具体的には、主に・仕様の検討・モデル構造の検討について行う。「この仕様によって、エンドユーザーが求めていることに本当に応え…

2011/10/31

<タスクの細分化は、ユーザー目線で行う>タスクを細分化する際には、ユーザー側からの視点をもって行う。具体的には、・〜を表示する(データ、ボタンなど)・データの作成、編集を可能にするなどのように分ける。分けたものが半日ほどかかりそうだったら…

2011/10/26

<Rails命名規則(単数形と複数形)>何か名前を付ける際、毎回単数形か複数形か悩むので、ここで一度まとめておく。【単数形】・モデル名(例:rails generate scaffold モデル名、モデル名.rb、class モデル名<ActiveRecord::Base)・関連、所有する側の…

2011/10/25

<アジャイル開発を通じた最大の成果とは?>アジャイル開発を通じて、最も果たすべき成果とは何なのだろうか?次のどちらかか?・システムの改善・人材の改善(成長)どちらの成果を優先しようとするかによって、時間の使い方が変わってくる気がする。もち…

2011/10/24

<配列とハッシュの違い>配列とハッシュ、複数のデータを持つという意味では、同じ部類のものである。しかし、以下の点で違いがある。・配列には、データの順番という概念が存在する。・ハッシュには、キーという概念が存在する。この違いによって、どのよ…

2011/10/21

<実装(コーディング)し始める前に考えること>実装をし始める前には、以下の3つのことを行う。1. データモデル構造の設計・どのようなモデル(テーブル)が必要か。・モデル間には関連を持たせるのか。持たせる場合は1対1、1対多、多対多の内のどれな…

2011/10/20

〔rubyを使って、[1,2,3,4,5,6,7,8,9]を[ [1,2,3],[4,5,6],[7,8,9] ]に変換するプログラム〕each_slice(n)メソッドを使うことで、シンプルに書ける。自分は始め、こんな便利なメソッドがあるとは露知らず、eachメソッドを使ったロジックを必死に組もうとして…

2011/10/19

<Rails3レシピブックを読んで(第2章コントローラー)>『Rails3レシピブック(高橋征義、松田明、諸橋恭介著)』の第2章前半部を読んだ上での学びや疑問点をまとめておく。・Railsでは、Webアプリケーションの振る舞いを「リソースの読み書き」として…

2011/10/17

<作業の早さを高めるために今後やっていきたいこと>1. railsの全体構造を理解するrailsには、viewやcontrollerなどのappフォルダ、routesなどのconfigフォルダ、dbフォルダなど、さまざまな要素から構成されている。それぞれの役割と関連性を理解すること…

アジャイル開発研修・読後レポート(今後のアジャイル開発の方針・抱負)

アジャイル開発研修が始まって、ちょうど1ヶ月半。これまでに開発したシステムは、「社内経理システム」と「メール通知系アプリ」の2つです。その開発過程では、アジャイル開発に関わることから、APIやプラグインの使い方までさまざまなことを学んできまし…

2011/10/14分

<バージョン管理システムの『branch』について>バージョン管理システムの『branch(ブランチ)』について学んだことをまとめておく。・ブランチはプロジェクトの枝のようなもの・masterは、プロジェクト作成時に自動的に作られるデフォルトのブランチ・基…

2011/10/13

<生産性を高めるための作業に時間をとる>普段、業務に追われていると、行うと生産性があがるとわかっている作業も、つい後回しにしてしまうことがよくあると思う。少なくとも私はこれまでよくあった。しかし、それではマズイと思い、本日は、たとえ調査な…

認証鍵作成、github&herokuの設定

railsの開発環境を構築した後から、github&herokuの設定までをまとめておく。1. 認証鍵(秘密鍵&公開鍵)の作成(認証鍵の保存先指定、認証用パスワード作成) $ ssh -keygen 2. 個人用githubアカウントの作成3. 個人用githubアカウントへの公開鍵の登録※秘…

2011/10/11

<経営的視点を持ったシステム開発者を目指す>本日は、業務時間外で得た学びをまとめておく。ボトムアップな社風で仕事をしたい開発者は、経営的視点を持つことが必要である。経営的視点とは、ずばり、お客様が求めているものを起点にあらゆることを考える…

2011/10/7

<APIを使ったシステム開発に挑戦>今、開催中のMashup Awards 7。それへの作品応募に向けて、会社のメンバーと協力して今日からシステムを作り始めた。私の行なったことは、「どのようなパラメータをAPIに投げ、どのようなデータを返すか」を考えたことだ。…

2011/10/6 イテレーションMTG

<様々なWEBサービスの仕様やデザインを日頃から意識する>現在人気のあるサービスが、なぜ人気なのかを日頃から意識する。説明書やヘルプなどを見なくとも直感的に使えるからなのか。画面がシンプルだからなのか。自由にカスタマイズしやすいからなのか。さ…

2011/10/5

<イテレーションミーティングの進め方>イテレーションミーティングの進め方について、今日学んだことをまとめておく。 ミーティングの大まかな流れは、「Current内のaccept or reject確認」→「今週イテレーション終了時点のBacklogに残ったタスクの確認」→…

2011/10/4

<勉強すべきことは山ほどある>今日はなかなかスムーズに作業が進まず、自分の知識の無さを改めて痛感した。今後勉強していきたいと思ったことをまとめておく。・gitコマンド、バージョン管理・HTML、CSS、HTTP、Javascript・SQL今はrubyやrailsの勉強を中…

2011/10/3

<デバッグする際は、何が問題なのか一つずつ探っていく>エラーが発生してデバッグする際には、以下のことを行なっていく・エラー文を正確に読む(英語が読めない人もがんばって読む)・debuggerで、生成データを確認する・git stashにより、コードに問題が…

2011/9/30

<mapメソッド>配列の各要素に対して何らかの処理をして、その結果を配列で返したい場合は「map」メソッドを使うとよい。これまで私は、配列の各要素に何らかの処理をかけ、その結果を配列で返したい場合は、「each」メソッドを使っていた。一つ一つ要素を…

2011/9/29

<イテレーションTryのレビュー>◆タスクの開始前に、まずはそのタスクを複数のToDoに分解し、それを共有する今日は、各タスクのコーディングを始める前に、全てのTodoを実際にホワイトボードに書いてみることを意識してみた。その結果、口頭で話し合うより…

2011/9/28

<イテレーションTryのレビュー>◆タスクの開始前に、まずはそのタスクを複数のToDoに分解し、それを共有する今日は、各タスクのコーディングをし始める前に、まずはどのような方針でコーディングするかを画面を見ながら話し合って共有することを意識してみ…

2011/9/27 イテレーションミーティング

<生産的なペアプログラミングを行うための今後の方針>◎タスクの開始前に、まずはそのタスクを複数のToDoに分解し、それを共有する2週間ほど前にこのブログに書いた、「ペアプログラミング」。その生産的に行う方法について、本日のミーティングで話し合い…

2011/9/26

<アジャイル開発で、優先順位を決める人は誰?そして、その方法は?>アジャイル開発を進める上で、優先順位を決める理想的なやり方ってどういったやり方なんだろう?もう少し細かく言うと、「誰」が「何」を基準に「どれくらいの」スピード感覚で優先順位…

2011/9/22

<YAGNI(You ain't gonna need it)>YAGNIとは、エクストリームプログラミングにおける原則の1つで、・「あとで使うかもしれない」との予測のもとにコーディングしない・目の前にある課題に対して、できるだけシンプルなコーディングを目指す開発スピード…

2011/9/21

<コーディング前の、ロジック組み立てにTry>コーディングをする前に、まずはロジックを組み立てるのに挑戦してみた。その際に気をつけたことは、・実装したい機能や具体的なコーディングの流れを、まずは文字におこしてみる・「画面の仕様や画面遷移の検討…

2011/9/20

<クラスメソッドとインスタンスメソッド>【クラスメソッド】・レシーバに実体がない・表記は、『def self.〜 本文 end』【インスタンスメソッド】・レシーバに実体がある・表記は、『def メソッド名 本文内にself.を使用(selfとは実体のインスタンス変数)…

2011/9/16(イテレーションミーティング)

<実装のロジックをコーディングし始める前にまとめておく>コーディング前に、ある程度ロジックをまとめてしまうのがよい。その際に、irbやrails consoleを使って生成するデータや戻り値などを確認しながら進める。<毎日のコードレビューをする前に、自分…

2011/9/15

<メソッド化をしてリファクタリング>データ処理をするためのソースコードは基本的にmodel内にメソッドとしてコーディングする。しかし、プログラミング初心者はいきなりmodel内にメソッドを書くのはなかなか難しいので、まずはcontroller内にコーディング…

2011/9/14

<redirect_toとrenderについて>railsで、画面遷移させたい時に書くリダイレクト(redirect_to)。これは、ブラウザからのURLリクエストに対して、WEBサーバーからリダイレクトを返させることを意味する。ユーザーにブラウザ上で何らかのアクション(フォー…

2011/9/13

<ソースコードの重複を取り除く方法>ソースコードの重複を取り除くために、以下のことを行う。・ほぼ全てのcontrollerに共通するソースコードは、application_controllerに書く・頻繁に行うデータ処理は、メソッドとして定義する・partialを使って、ファイ…

2011/09/12

<テスト駆動開発(TDD)の進め方について>テスト駆動開発は、大まかに以下の手順で進める。1. rspecによる、テストコーディング(データの生成など)2. システムの実装コーディング3. cucumberによる、テストコーディング(ユーザー視点からの画面遷移)ま…

2011/09/09

<ソースコードは読みやすいようにコーディングする>コーディングをする際は、そのソースコードを後で見た人が読みやすいように書く。具体的に気をつける点は、・重複など、冗長的な表現は避ける・何を指しているかが直感的にわかる変数名、カラム名にする…

2011/09/08

<ペアプログラミングのやり方(共に初心者の場合)>現在、ともにプログラミング初心者の2人でペアプログラミングを行っていますが、2人で同じことを考え込むなどして、どうも生産性がよくないです。この状況を打開するために、当面は、・pivotal tracker…

2011/09/07

・redirect_toとrenderの違いredirect_toは、controllerを見た上でのview画面が返ってくる。renderは、controllerを見ていないview画面が返ってくる。controllerで作成したインスタンス変数を使用しているview画面に画面遷移させたい場合は、redirect_toを用…

2011-09-06

・rails上のエラー画面は、エンドユーザーには絶対に見せないようにする・テストコードは、将来的にシステム修正をする時に必要・テーブル越しに関連をつけたい時は、throughを用いる

2011/09/05

<デバッグの方法>1. ターミナル上のログをチェックする2. htmlページ上でソースコードをチェックする<今日の雑感>どのようなデータが受け渡されているかを一つ一つ確認することで、根本的な理解を進めていきたいです。

2011/09/02

データ管理システムを開発する上で、「データの一覧表示機能」と「データの作成機能」のどちらを優先して実装するのがよりよいのだろうか?今回の開発では、「データの一覧表示機能」の実装を優先させるために、仮のデータを/db/seed.rbに入れたが、その仮デ…

2011/09/01

<macのrails環境構築(sqlite3-rubyをインストール)>xcode(App storeより)をインストールしたら、sqlite3-rubyをインストールできました。<ログインページの作成>・他のページのフォーム記法を参考に、newページ(ログイン画面)を作成・loginコントロ…

コードリーディングとコードライティング

プログラミングスキルを高めるためには、この2つを繰り返し行っていく必要があります。コードを読んでばかりいてもダメだし、コードを書いてばかりいてもダメです。スキルが高まるとは、『新しいことができるようになる』と言いかえられます。さらに、これ…

ブログ始めました!

今日からブログ始めました!仕事のことからプライベートのことまで、さまざまなことを書いていきます。私自身の成長とともに、このブログもどんどん大きくしていきたいと思いますので、これからどうぞよろしくお願いします。