2012年11月30日金曜日

アプリの企画を考えよう!

アプリが作りたい!


っていう人たくさんいます。

じゃぁ作れば?

いや、プログラムがちょっと・・・

本当に作りたいの?

片手間にアプリ作って大儲けを・・・


(ヾノ・∀・`)ナイナイ 


そんな簡単に出来るなら誰でもお金持ちです。

もちろん世の中にはアプリをヒットさせて利益出してる人もいます。
だから不可能なことではないです。

ただ、やることがとっても多い!

それだけのことです。

アプリを作るということは、いわば商品開発です。

世の中にはいろいろな商品がありますが、様々な企画が立てられてどの程度売れそうか、利益は出るのか等々、、、
物理的な商品であれば、どうやって製造するのか、どこで販売するのか、、、こういった仕組みも持たないといけません。

例えば、画期的なアイディアの商品を思いついたとします。
普通は会社作って、工場で製造して、販売店に流通させないといけません。
例えば、絶対ヒットしそうな料理ができたとします。
実際には、お店の土地を用意して、店舗を作って届けを出して、宣伝して、、、とっても大変です。

アプリのいいところは、パソコンがあれば、一人でも作れるということと、
流通の仕組みは提供されているということです。
宣伝もネットで行えます。そして失敗してもそれほど損失が無いということ。

じゃぁ、あとは何が必要なのか?

そう、アプリが開発できるスキルと、企画ですね。

プログラミングは、はっきりいって簡単ではありません。
でもどうやっても出来ないほど難しいことでもありません。
私も苦労しましたが、習得しました。

単なる技術なので勉強して練習すれば、できるようになります。
一人では難しいと思うようであれば、是非当スクールをご利用ください。

でも一番重要なのは、アプリの企画です。

なんとなく思いついたアプリがヒットすると思ってるようであれば、大きな間違いで、たいていのアイディアははっきりいってゴミです。

どんなに自分が面白いと思って人に話しても大抵の人は、ふーんくらいの反応です。
だって、

アプリなんて無くても生きて行けますからね!

そして、現代人は忙しいのです、アプリのストアで見かけてもよっぽど興味がなければダウンロードすらされません。

でも、そんな状況を打破しても面白いと思うアプリの企画を思いついなら絶対に作るべきです。

アイディアだけ考えて人に作ってもらうというのもひとつの手ですが、その場合大抵、自分で作るより何倍もお金がかかります。
ボランディアでアプリ作ってくれるほど暇な人はいません。

逆に考えてみれば分かりますが、自分がアプリ作れるスキルがあるとして、誰かが絶対ヒットするってアイディアのアプリ作ってくれって言われて無償でやりますか?
やらないですよね? 絶対ヒットするなんてことありえませんし。

こういったことを踏まえると自分で作れるようになるのが、一番いいです。
ですがアプリが作りたいなーとなんとなく思ってるだけでは、いつまで経ってもアプリは作れません。

プログラミングを覚えないと・・・ってところから始めると更に遠のきます。
なので、まずはアプリの企画を考えましょう。

今から、すぐ考えましょう。

毎日生活している中で何かアプリにつながるヒントは無いのか、思いついたらすぐにメモする習慣をつけましょう。パソコン無くてもいつでも出来ます。

素晴らしいアイディアが天から降ってくるなんてことは普通ありません。
これも練習です、訓練しているうちに目ざとくなってきます。

そして、これは!と思える企画を思いついたら、アプリ開発を学ぼうと思うモチベーションも上がってくると思います。

その企画は自分にしか思いつけないものかも知れませんし、世の中を変えるものになるかも知れませんよ?

プログラムのスキルに関しては、当スクールでカリキュラムを用意していますので、やっぱりそこが難しそうと思うのであれば、ご相談ください。

どのような形で勉強したいのか時間をかけて面談させていただいておりますし、体験授業も用意しておりますので、気になったら是非一度ご連絡ください。

そして良い企画が出来たら実現に向けて協力させてください。


お待ちしております。

2012年11月24日土曜日

手を動かしてトライアンドエラーでいこう!

アプリを作るにあたっては、プログラミング言語ってのを理解しないといけません。
使わずに作る方法もありますが、そんなものは私に言わせれば偽物です。
(電子レンジでチンして料理と呼べるのか!みたいなね)

プログラミングを覚えるためのコツは、、、ありません。
ひたすら手を動かして、プログラムを書くべし書くべし!!!

私の感覚では、新しい言語をやる場合、多分100時間くらいでやっと掴めてくる感じではないかと思います。
そして、やり始めたら、ひたすらハマる
気が付けば自分の中の言葉として染みこんできます。

100時間も!と思いますか?  新しい言語の勉強だと思ってください。

今ざっくり調べたところ自然言語の場合、
最低で英語だと380時間、中国語で210時間だそうです。

それに比べれば短いですよね?
自然言語と違って、習得しやすいのは例外が無いということです。
でも逆に言えば、命令した通りのことしかコンピュータはやってくれません。

有名?な格言があります。

プログラムは思ったとおりに動かない、書いたとおりに動く

はじめは思ったとおりになかなか動かないので、言語環境がバグってるのじゃないかとか思いがちです。

私もVisual Basicを始めた時、そう思いました。
Javaを始めた時も思いました。
Perlを始めた時も、、、(あと10個くらい続きます)

読書百遍意自ずから通ず

という言葉もあります。難しそうな本でも100回読めば意味が通じるということです。
本を読めば意味は理解できます。
でも、試してみないと絶対に自分でできません。

車の運転の仕方という本を読んでも、料理の作り方の本を読んでも、英語の本を読んでも言ってる意味はわかっても、自分でやろうとして実際に試して失敗してうまくいかない理由を自分の中で飲み込まないとできるようになりません。

覚えるのが早い遅いはあるかも知れません、でも手を動かさずに理解できる人はいません。そして、間違えて修正して覚えていくんです。

今、普通に歩けるのは、赤ちゃんの時、倒れても倒れてもあきらめずに文句も言わずに頑張ったから。
今、普通に喋れるのも同じことです。

絶対にできるようになるという確信を持って取り組めば分かるようになります。

間違えてもいいんです、というか積極的に間違えましょう。
コンピュータは、文句も言わずに何時間でも相手をしてくれます。

変なことをしたら壊れるんじゃないの?

むしろ壊してしまってから、そこから始まるくらいの勢いで構いません。

そういうことをしているうちに裏側に隠れている考え方や文化的なものが理解出来るようになってきます。

なので、トライアンドエラー、試行錯誤を積極的にして勉強して行きましょうね。

一人じゃ続かない場合は、スクールでお待ちしておりますよ。

2012年11月19日月曜日

Excelの複合参照とは・・・?

私、普段プログラム系の授業対応しておりますが、富士通オープンカレッジ 名古屋駅前校では、Microsoft Officeの生徒さんも多く受講されてます。

その中でも一番よく質問される、つまり分からないと言われるものがあります。

Excelの参照です。

数式と関数で使うやつですね。
相対参照と絶対参照は、まぁ大体の人がOKです。

問題は、複合参照!

ここでわからなくなる生徒さんが大変大変多くみえます。

参照って、数式と関数をコピーしないのであれば、何も関係ありません。
そのまま相対参照で問題無いです。

どんな時に必要になるかというと数式と関数と縦とか横に向かってコピーした時にうまいことやろうと思うと理解しないといけなくなるし、Excelが一番Excelらしいところを見せる機能ですね。

ここで簡単にまとめると まずは一番基本の相対参照。
「=A1」などと表現して、そのセルの値を使用するというやつです。
下に向かってコピーすれば、行番号が変わり、右に向かってコピーすれば列の位置が自動的に変わります。

次に絶対参照、「=$A$1」と表現して下にコピーしても右にコピーしても参照位置が変わらないというやつです。例えば1ヶ所に消費税率入れといて全部から参照するとかですね。

で、問題の複合参照ですが、「=$A1」または「=A$1」みたいに書きます。

「=$A1」の場合は、縦にコピーした時に行位置が変わり横にコピーしても列位置は変わらない。
「=A$1」の場合は、縦にコピーした場合には行位置は変わらず、横にコピーした際は列位置が移動するという意味です。

わかってしまえば、とっても簡単なことなのですが、なんどか練習してみないと初めてやる場合はさっぱり意味がわかりません。
実務でExcel使いこなしてるつもりの人でも意外と理解してる人少ないんじゃないかと思います。


質問されるとあの手この手を使って説明するのですが、言ってる意味は分かるけど、なかなかピンと来ないという生徒さんも多いです。

私もまだまだ修行が足りませんね

でもある先生が授業で九九の表を作るというのをやってました。
これ、複合参照を使うと数式をひとつ入れてオートフィル2回で完成するんですね。
でも意味がわかってないと永遠に作れません。

前回の記事でもプログラムで九九表出すってのをやってみてると書きましたが、九九ってホント使えますね。

考えた人偉い!

いろいろ踏まえてもう少し説明加えて絶対わかるようになるはず!な資料を作り始めました。
3ページくらいにするつもりが、相対参照と絶対参照だけで4ページ、、、今日は力つきました。

あと一番大事な複合参照のところは、また日を改めて作ります。

考えてみれば、参照ってとってもプログラム的な機能ですね、あとIF関数が理解できてれば、プログラミングの基礎はすでに分かってるようなもんです。

この辺が面白いと思う方であれば、アプリ制作向いてるかも知れませんよ?

もう一つよく質問されるものがあるのですが、それはまた別の機会にします。

2012年11月12日月曜日

復習はとても大切ですよ

どんなことでも勉強するときは復習がとても大事です。

という記事を書くにあたっていろいろと調べたのですが、
1週間後のやや忘れかけの頃にやるのが一番いいらしいです。

テキストの内容をそのまま復讐するのも良いと思いますが、そのままでは面白く無いと思いますので、覚えた内容でどんなことが出来るのかいろいろと試してみましょう。

例えば、if という文を覚えたら、どのようなことが可能なのか and や or の条件を含めて、ひたすら色々書いてみるのが一番です。

プログラムって論理の世界なので、複雑なことを理解できてないと書けないというイメージがあるかも知れませんが、そんなことはありません。
簡単なことの組み合わせからはじめてだんだんと複雑な処理を作っていけばいいんです。

そのためには基本的なことをひたすら練習して、自分のものにしていくことです。

最近、授業でよく出しているのが九九の表を出力してみましょうというやつです。
プログラムの基本的なことだけで行える処理ですが、繰り返しと条件分岐がしっかり理解できていないとなかなか綺麗に出力できません。

これができたら、ではメソッドに分けてみましょうとか、変数や引数を使って、変更出来るようにしてみましょうとか、いくらでもアレンジできます。

自宅に環境がない場合、自習環境をご用意しています。
自習中は、質問は出来ないことになっていますが、次回の授業で質問してください。

講師は、受講者からの質問が来ることを待ってます。
もし、講師でもわからないことがある場合は、きちんと調べて回答しますので、何でも質問してください。

こんなことを質問したら変かなとか、恥ずかしいな、なんてことは、全然気にする必要はありません。
基本的な質問こそ分かりやすく説明するのが、難しいんです。そしてそういった質問を通して講師もスキルアップをしていくんです。

テキストの内容だけでできた気になって終了してしまうときっと後悔します。
スクールに学びに来るということは、実務レベルで使えるようにならないといけないことが多いでしょうから、どんどん学んでください。

そして忘れないように身につけましょう。
一度だけやったことはすぐ忘れますが、何度か繰り返したことは何年たっても意外と覚えているものです。

何かやりたいことがある時に自然に手が動くか、自然に発想できるようになるか、
復習を忘れないようにしていきましょうね。



2012年11月5日月曜日

0の0乗はいくつ・・・?

今までアプリを作るためにいつもプログラムは手段だ!みたいな感じで書いてきました。

アプリを作るためにプログラミング言語のマニアになる必要はありません。
ですが、プログラミングという作業自体も実はとても面白いことです。
今日は、そのことについて書きたいと思います。

プログラムを勉強するとなると数学が苦手なんですが大丈夫ですか?
みたいな不安を持つ方が多くいます。
でも大丈夫、計算はコンピュータがやってくれます。

計算は、コンピュータがやってくれますけども数学的な考え方は必要です。
ベン図とかブール代数とか集合とか覚えてますか?
(実は私も怪しいのですが、プログラムできてます)

私も計算得意じゃありません、でも数学の世界は大好きです。

プログラムの世界にはアルゴリズムという言葉があります。
何かの問題を解くためのよく知られた方法のことで、並べ替えや探索、暗号化などいろいろなものがあります。
フローチャートって図で表したりします。



アプリを作るにあたって、これらのアルゴリズムを自分で作ることはまずありません。
ほとんどのプログラミング言語にはライブラリという形でこれらの問題を解くための方法が用意されているからです。

でもライブラリに用意されたアルゴリズムでは、解決できない場合には自分で考えないといけません。
アルゴリズムについて解説した書籍というのも世の中には出てて、私の部屋にも何冊かあります。

SEを10年以上やって来ましたが、実はこれらの書籍にお世話になったことはありません。
ライブラリでできてしまうから・・・

インストラクターの仕事になってから勉強熱が再燃してきてて改めて勉強してみようと思って読みなおしてみることにしました。

「改訂C言語によるはじめてのアルゴリズム入門」という本からです。
(もう2001年の本なんですね・・・)

練習問題1に「Horner(ホーナー)の方法」という例題が出てきます。
多項式の値をHornerの方法を用いて計算する・・・とあります。

う・・・多項式ってなんだっけ? (;_;)

いきなり挫折です、、、でも諦めません。
ネットの無い時代は、図書館いくしかありませんでしたが、今はすぐに調べられます。

なるほど、、、なるほど、、、なんとなく分かりました。

問題の中に「漸化式」(ぜんかしき) というのも出てきました。
アルゴリズムの本にはよく出てくる言葉ですが、正直よくわかってないのでこれも勉強することにします。

こんなページが見つかりました。

高校で学べない人のための・・・って感じでいろいろ解説してくれてます。助かります。
と、このページには、先に「高校で学べない人のための数列」を理解しろと・・・そしてそのページには、先に「指数法則」を理解しろと・・・

指数くらいは分かるさ・・・と読んでみたら

2^2・2^3 まずはこれを考えてみましょうとあります。(^は累乗です)
む、この 「・」 ってなんだ? (そこから?)
・って検索しにくっ!

なるほど、、、掛け算のことね、プログラムだと*で表すからなー忘れてるなぁ

一応終わって数列のページに戻ります。等比数列というのが出てきました。

a1 = 2 = 2 ・ 2 ^ 0
a= 4 = 2 ・ 2 ^1 とあります、、、これメモリーとかによく出てくるね

簡単簡単・・・え?

計算式よく見てみると 2・2^1はいいです。 2 x 2 x 1ですからね
問題は最初の 2・2 ^ 0 って 2の0乗って0じゃないんだ・・・(初歩?)
えーーー1なんだ、、、へーどんな数でも0乗は1になるんだ、、、へー

じゃ、0の0乗は、、、、0でしょ?
手元のiPhoneの電卓で計算してみると・・・

えーーーー1なんだ!

Googleで検索してみるとGoogle電卓機能でも1とます。
Wikipediaにもちゃんとページがありますが特別な意味を持たず定義されないとあります。

検索結果のその次くらいにアンサイクロペディアというサイトが出てきて、こちらでは0としていますが、こちらはWikipediaを揶揄するのが目的のおもしろページなので気にしないことにします。
(でも実は アンサイクロペディアの2=1 なんてページは超面白いですが、ユーモア好きな方はどうぞ、私は好きです)

なるほどねー、勉強になった。
(休みの日とかは、だいたいこんなことやってて終わります・・・あれ、練習問題1は?)

つまりこんなレベルでもプログラミングできてるんですから大丈夫ですよ
(え?こんなヤツに習って大丈夫かと不安に・・・?)