下手の考え休むに似たり .2
しばらくRailsガイドを進めてみて気がついたが、Railsは自動運転機能を強化するためにものすごく規則が多い。
モデル、ビュー、コントローラで構成されていると言われても規則のための概念のような感じがするし、コードを自動で書いてくれるのは有り難いのだが学習段階だとそれがややこしさを増させている感もある。
ここは、書籍がいいかと思ってRuby on Rails 5アプリケーションプログラミングを購入。やはり書籍は体系的に学習したいと思ったら最強のツールかもしれない。
MVCモデルはRailsに限らない一般的なシステムということなのでRailsはある程度しっかり勉強しといた方がいいかもしれないと思える。
ところで、昨日思いついた新しい学習方法、予想読みと言うのを試してみた。
予想読みとは、文章を理解しようとする前に、自分ならどういうことを書こうとしたらこういう文章になるか予想してみるというものだ、つまり内容をよく読まずに予想だけで理解を進めるという荒技だ。
この方法を思いついた時は自分は天才なのではないかと思ったが、実際には天才ではなかったようで全然理解が進まなかった。
ちょっと先が長い気がしてきた。
SNSを作りたくなったので道筋を記録していく.1
あまり世の中に存在していないだろう形のSNSを作りたくなったので復習も兼ねてその記録をしていきます。まだ作り途中なのでどう言うSNSかは書きません。
・現在のスペック
『インターネットアカデミー』という、htmlとは、からはじまり、最終的には完成したサイトの部品を再配置するところまで丁寧に教えてくれる初心者養成スクールで、javascript,css,mysql,phpの基礎を学んだ。(70万払った。良い子は絶対に真似してはいけない。)
Monacaを利用した小さなハイブリッドアプリを作って見た。(jquery,html,css,onsen-uiを使った)
以上である。履歴書に書いて送ったら採用係にティッシュ代りに使われて終わってしまうようなかんじではあるが、簡単なものから作っていこうとしたら逆に遠回りになることがある。僕の考えは、まず作りたいものを考え、次にそのために必要な知識なり環境なりを整える、と言うものなので、あまり細かいことは気にしないことにした。
どうやってSNSを作ったらいいか調べてみると、SNSの仕組みとしては、ユーザーに表示されるページがあり、書き込みを記録するデータベースがあり、それを反映させるサーバーサイドプログラムがあればできるみたいだ。もちろんユーザー登録制にするわけだから個人情報保護のための暗号化などの機能も必要だが、そういう細かいことは後にして、とりあえずサーバーサイドプログラムの作成方法から学ぶことにした。
言語はruby on railsが良さそうだった。簡単だし、何より楽しいらしい。 PHPを使うことも考えたが、なんとなくruby on railsの方が将来性がありそうな気がしたので、そっちを使うことにした。
とはいえ僕の場合、まずはrubyから学ばないといけない。僕は安心の侍エンジニアさんに勧められるがまま、Rubyがミニツクでrubyの基本について学ぶことにした
このサイトのいいところは、rubyの生みの親であるまつもとゆきひろさんがあの素敵な笑顔をみせつつ、rubyについて解説してくれる動画があることだ。開発者の視点からの話を聞けることはあまりないし、ましてや日本語で聞けるのはおそらくrubyだけだろう。分かりやすく勉強になるし、癒し効果もある。僕は活字のページを飛ばして動画だけみたくなる衝動を抑えながら勉強を進めた。
rubyについて一通り勉強した僕はすぐにruby on railsの勉強に移ることにした。スポーツとは違い、開発はなるべく基礎学習に時間を使わないのが大事だと思っている。
ruby on railsの学習にはドットインストールを利用させてもらうことにした。
そして今勉強中なのでここから勉強ログを取って行きます
現在はドットインストールがチュートリアル方式なのでリファレンスも欲しいと思い、railsガイドといったりきたりしながらやっていこうかなと思ってるところです
アプリ開発記その6 オリジナルアプリの完成
開発を初めてから4ヶ月弱、アプリは完成した
初めてビルドして自分の端末にインストールした時はもっと感激するかと思っていたがが、実際には、アイコンダサくね?とか色々気になって直したくなってしまった、しかしあまり細かいこといってると永遠に公開できなくなる。
僕は意を決してストアに公開申請を出した。
これは有名な話だが、アプリの審査基準はAndroidよりも Iphoneの方が圧倒的に厳しい。
僕の場合最初にAppleに申請を出したものはちょっとしたバグがあり、却下されてしまったが、同じものをAndroidの方は数分で許可されている。おそらくほぼ審査などしていないのだろう。
Iphone向けのものもバグを直したら許可してもらえた。
人生初のマイアプリの完成だ。
アプリを宣伝するために、アプリ紹介用のページ、いわゆるランディングページも事前に準備してある。
ブログも書き始めている。
舞台が整ったという感じがして嬉しかった。
その夜は7月の蒸し暑い日だったからか、興奮してしまったからか分からないが、うまく寝付けなかった。明日は仕事があるから早く寝なくてはと思いつつ、なんども寝返りを打った。
ふとFaceBookについたコメントを思い出した。「第二のザッカーバーグ、いわゆるナッカーバーグの誕生だったりして(僕の本名は中村です)」なかなかうまい事言う友達もいたものだ。僕はにやけてしまった。枕からは、シリコンバレーの香りがした。
3分で読める仮想通貨まとめ
最近Bitcoin分裂騒動があったりVALUが話題になったりしてて興味を持ったので仮想通貨について自分なりに調べたことを簡単にまとめてみたという記事です
ど素人なので間違っていることもあると思いますがコメントなどで指摘していただけたら嬉しいです。
・仮想通貨の始まり
ナカモトサトシと名乗る人物が2009年ころはじめたBitcoinが最初の仮想通貨。
ただしナカモトサトシは論文でそう名乗っていただけでそれがどこの誰かはわかっていない。21世紀最大の謎と言われている。
・仮想通貨の仕組み
基本的な仕組みはブロックチェーンなるものでできている。
ブロックチェーンとは、お金のやりとりの記録などの、情報の塊(ブロック)を順序をつけて繋げたものを複数のPCで共有する仕組みらしい。
これにより、1つのPC上で記録が改ざんされても、他のPC上の記録との整合性がつかなくなり改ざんがバレてしまうので、改ざんすることが難しい。よって情報の不可逆性が保たれる。(多数派の情報が正しいとするので、改ざんするには51%以上の情報を改ざんすることができないといけない)
また、サーバーというものを持たないので情報がなくなってしまうリスクもないし、
権力者というものも存在しないために特定の人物の利益のためにシステムが変えられてしまうこともない。
そのため国家に縛られない通貨として利用されている。
・仮想通貨2.0
従来の決済機能としての仮想通貨に他の機能をつけたもの。
代表的なものとしては将来の約束(給料日には倍にして返すからとか)なども記録できるイーサリアムがある
・投資対象として感じたこと
値動きがかなり大きい。一ヶ月たらずで倍になったり半分になったり。
リップルなどは、仮想通貨としてはそこそこ大きいのに今年2017年の4月末から5月中頃の間に10倍になってる!
よってハイリスクハイリターンと言えるが、全体の傾向としては圧倒的に上昇トレンドの通貨が多いので、ちゃんと考えて投資すれば勝ちやすいかもしれない。
2017年は日本でもビッグカメラなどでBitcoinでの決済が可能となるなどがあり、仮想通貨元年と言われているらしいので、投資に興味がある人は選択肢の一つとして考えておくといいのかもしれない。
ただし、未公開仮想通貨詐欺などもあるそうなので、実際に買う時にはよく調べてから買うべきだろう。
という感じです。
今のところ、近い将来の社会を作る礎になるかもしれない注目の技術の一つ、といった印象なので、これからもちょくちょく調べてまとめを書いたりしたいですね!
アプリ開発記その5 デザイン
これはアプリを作り初めてすぐに気がついたことだったが、コーディングよりデザインの方が難しい。
コードには著作権もなければ、ユーザーに覗かれることもないから、動けばいいで作ってもいいし、コピペしまくってパクリまくっても誰からも責められることはない。
しかしデザインはそうはいかない。ただ配置しただけのダサいデザインは誰が見てもダサいし、パクったら裁判沙汰になる。
しかも、僕が作っているのは、見栄っ張りな男子大学生むけのアプリなのだ。デザインはかっこよくなくてはいけない。
僕はなんどもなんどもPCと向き合って配置を変えたり色を変えたり、ボタンの素材を作ったりを繰り返した。
しかしいくらやってもぱっとしない。素人臭さが抜けないのだ。
鮮やかな色を使うとまとまりがないゴタゴタっとした感じになるし、彩度を下げると薄ぼんやりした感じになってしまう。
なんだか、炭酸ジュースの飲み比べを延々とさせられているような気分だった。
そこで僕は、もうどうでもいいや、と呟いて、適当に配色をして寝てしまった。
次の日、朝起きてPC画面を見ると、そこには調和のとれたデザインが完成していた。
そう、デザインなんて適当にやった方がうまくいくのだ。
この境地に最初のアプリデザインで到達したのは僕くらいではないだろうか。
自らの才能に恐れ入りながら、僕は開発を進めたのだった。
⚠︎これは深夜2時のテンションで書かれた記事です
□参考になった本
腕のいいデザイン事務所で修業しないとふつうは身につかない知識と技と心得 (インプレスムック エムディエヌ・ムック)
アプリ開発記その4 コーディング
MonacaはAngularJSで構築している環境らしいが、僕は最初のアプリ開発ということで、昔からあるJavascriptライブラリであるjQueryを利用することにした。
それにしてもアプリを作るのはこんなに簡単だったのか。
昔やっていた、C++とDirectXでゲームをつくるのを3時間煮込んで特製とんこつラーメンをつくるようなものとするなら、jQueryとMonacaでつくるのは蛇口をひねったらラーメンがでてきた!ようなもの、くらいの差があるではないだろうか。
ウェブサイトを作れる程度の知識があればできてしまうので、Monacaについては一冊だけ本を買ったが、それ以外のコーディングについての知識はすべてネットを見るだけで十分だった。
技術の進歩に伴い環境も変化する、CSSも気が付いたら3になり、JavaScriptライブラリの主流もjQueryからreactへと変わっているというではないか。
僕はこの進化を頼もしく感じながら、jQueryの文法をググりまくっていた。
ただつまったところもある。
それは、なぜかイベントを設定する際、$('#id').on('click',function(){});では設定できず、
$('body').on('click','#id',function(){});の形にするとちゃんと設定できたときだ。これはおそらくOnsen-UIの仕様が関係しているのだろうが、よくわからない。
コーディング作業自体はググる時間も含めても数十時間程度しかかからなかったような感じだ。
□参考になった本
アプリ開発記その3 アプリを誰に使ってもらうか
次に考えたのがアプリを誰に使ってもらうかだ。
この対象となる人物像を具体的に想定することがマーケティングにおいては大事らしい。
もちろんまだマーケティングする段階ではないが、今のうちにそこも考えておかないとどう作ったらいいかわからなかった。
ぱっと思いついたのは男子大学生だ。まず暗算アプリなんて地味なもの、男しかやらないだろうし、社会人は忙しすぎて僕の作ったアプリなんてやらないだろうからだ。
男子大学生といえば、思春期。
思春期といえば歓楽街、そうだ、ホストをモチーフにしたアプリを作ろう!
難易度の名前を、「初級、中級、上級」ではなく、「童貞級、フツメン級、モテモテ級」のようにして、アプリのタイトルは「イケメン暗算」だ!
(派遣先で作業をこなしながら頭の中ではそんなことを考えていたのだ、僕は駄目人間なのかもしれない)
さらに僕は考えた。
男子大学生は見栄っ張りである(男子学生のみなさん、悪気はございません)。友達には面白がられて人気者になれて、女子には見栄の張れるような機能があれば面白い。
そうしてつけた機能がランキング作成機能である。
これは好きな順位を設定するとランキングっぽい画面が自動的に作成される機能である。
ただし自分以外の人の名前はすべてアルファベット4文字のランダムな名前になってしまうが(日本人っぽい名前をランダムで作るのは難しいし、特定の名前のセットを用意するととコードが国語辞典みたいになってしまうため)、その安っぽさも突っ込みどころとなり、逆にいいのではと考えた。
だいぶ形が見えてきた。
□参考になった本