読了:吉岡直人ほか『非エンジニアのためのプログラミング講座』(リックテレコム、2015年)

吉岡直人ほか『非エンジニアのためのプログラミング講座』(リックテレコム、2015年)を読了した。HTML、CSSJavaScriptを順に追っていくもので、プログラミングというよりはHP制作に近い内容なのではないか?と感じた。本書だけでは学びきれない部分も多いため初歩段階といった印象を受ける。

 

とはいえ、その内容は至極丁寧であり序章は「Webブラウザ」、「テキストエディタ」のダウンロード説明から始まる。ある程度知識のある人にとっては当然のことのように思えるが、基本的な事項の復習も重要であるということを考えれば初心に還って読み進めていくことができるのではないか、と考える。

 

本書で印象に残ったのは、「はじめに」に書かれている「非エンジニアがプログラミングを学ぶ理由」についてである。著者は、近年インターネットの爆発的普及によってスマートフォンアプリ、ECサイトSNS等あらゆる場面でのソフトウェア活用について触れる。そのため、ソフトウェアの作製過程や仕組みを知ることは誰もが知っておくべき基本的知識となっており、このことでプログラマと気持ちを理解し合い、コミュニケーションを円滑に進めることを目的としている*1

 

続いて、「本書の対象読者とゴール設定」で述べられているのは、本書の核を表す以下の言葉である*2

もちろん、本書を読んだからといって、すぐにプログラマとして働けるようになるわけではありません。しかし、ゼロと「1」の間には、とても大きな開きがあります。〔中略〕様々な仕事の場面で、少しでもプログラマと同じ目線に立つためには、プログラミングの基礎の基礎についての理解がどうしても必要になると筆者は考えています。

 

本書は、非エンジニアがエンジニアと円滑にコミュニケーションを進めていくための知識をゼロから1に変えるものであると分かる。実際、内容としては本当に基礎中の基礎であるが、すべて丁寧な演習形式を取っており私自身としても初心に立ち還って手を動かすことができた。そして、ゼロと1の差がどれだけ重要かということが改めて分かった。今月からのHP制作のための、良いウォーミングアップになったのでは、と感じる。

非エンジニアのためのプログラミング講座

非エンジニアのためのプログラミング講座

 

 

*1:参考:吉岡直人ほか『非エンジニアのためのプログラミング講座』(リックテレコム、2015年)、p.3。

*2:前掲『非エンジニアのためのプログラミング講座』、.p5。

アイデア分析②

前回に引き続き、とある仮想のサービス案について分析していこうと思う。今回は、ベン・パー『アテンション 「注目」で人を動かす7つの新戦略』を参考にする。

shika16.hatenablog.com

 

サービス案

サービス名:「30s」(仮)

形態:スマートフォンアプリ、Webサイト

料金:無料(一部有料)

内容:アーティスト側に曲、または動画の「聴いてほしいところ」の30秒を切り取ってもらい公開する。アーティスト側にとっては一番聴いてほしい部分を手軽に伝えることができ、リスナー側にとっては自分で飛ばす手間なく聴きたい部分を手軽に聴けるという「いいとこどり」のメリットがある。

 

イデア分析

上記案について、今回は「注目」を集めるための戦略を選ぶ。本のタイトルにもある通り全部で7つのトリガーが紹介されているが、今回はその中から「評判トリガー」を選んでこれを元に分析を行う。

 

評判トリガーとは

自分が信頼できる情報源を活用して、注目を向けるべきがどうかを判断するもの。その情報源とは、主に「専門家」、「権威者」、「大衆」の3つである。

 

評判トリガーをいかに活用するか

Twitterから着想を得ており、サービス内容としては、アプリ内においてアーティストの楽曲を紹介または掲載する形を取るが、「評判トリガー」の中でも「大衆」を活用したいと考えた。

ただ掲載するだけではなく、「フォロー」や「お気に入り」等の評価機能をつけてそのアーティストや楽曲の人気度を可視化する。また、「シェア」機能を実装し、各SNSへの投稿を可能とする。このことで、「大衆が何を好んでいるか」という情報源、シェアによるサービスの認知を得ることができるのではないかと考える。シェアを促す策としては、シェアを行うことで何かしらの報酬をユーザーに与える形が良いと思われる。

(例)曲をシェアして「フルver.を聴こう!」「アーティストを応援しよう!」

 

前述のように、元々はTwitterにおける事例から着想を得ており「30秒」で切り取ることを前提とした案であるが、作り手側・アーティスト側にとっての大きな情報源としては、「どこを切り取るか」ということも重要になってくるのではないだろうか。

 

例えば、何かの曲を初めて聴く時に「サビ近く」まで飛ばす人も居れば、「前奏が終わった地点」まで飛ばす人も居よう。それは、「どの地点で心惹かれるか」ということにかかってくる。そのため、リスナー(大衆)はどの部分を評価しているかということをより明確化するために上記の評価機能には複数の項目を設けたい。

(例)「声」「楽器」「メロディー」「かっこいい」「おしゃれ」etc...(アイコン等により表すことで、気軽にタップないしはクリック(評価)できると良いかもしれない)

 

このことで、大衆の評判を明確化し、彼等が何を評価しているかによってそのアーティストが切り取りたい部分、推したい部分、強みになる部分が分かりやすくなるのではないだろうか。

 

参考

アテンション―「注目」で人を動かす7つの新戦略

アテンション―「注目」で人を動かす7つの新戦略

 

 

 

 

 

 

 

落ち葉清掃ボランティア

先日、落ち葉清掃ボランティアに参加してきました。(写真の掲載許可が得られなかったため、文章のみで失礼します。)

 

この季節、普段外出していると落ち葉が道を埋め尽くしており気になっていたのですが、有志の方々(地域の人たち)が清掃していると聞き参加する運びとなりました。

 

今はマンションに一人暮らしをしており、普段地域の人との関わりというものは全くと言っていいほどありませんでした。住んでいる所も大きい道路に面しているような場所なので少し奥の方の住宅街へと足を運び、今回のボランティアに参加しました。

 

初対面の人しか居らず緊張していましたが、自然と会話も弾みお互いに協力して作業を進めることができました。先月~今月にかけて受けていたワークショップではグループワークを「しなければいけない」状況下にあったため否が応でもチームワークを発揮するといった感じもありましたが、ボランティアにおいては参加者とチームワークを発揮するもしないも自分次第であり、積極的な姿勢が求められていたように感じます。

 

しかし自然と、協力姿勢が生まれてスムーズにチームワークを発揮することができました。「ほうきでちりとりに落ち葉を集める人」、「ゴミ袋を持って回る人」(主に私はこれでした)、「声をかけて指示する人」、「落ち葉の入った袋をまとめる人」・・・役割は様々でしたが、手の空いている人から自然と様々な役割を自分から進んで引き受けていたような印象を受けます。私も同様でしたが、「サポート」という立ち位置に居ることが多かったように思われます。

 

自ら進んで参加するチームワークのなんたるかを学ぶことができ、地域の人たちとの交流もでき、良い活動に参加できたと心から思います。次のボランティアは、もっと積極的な姿勢を見せられればより良いと考えています。

デジタルハリウッド『Webデザイン Illustrator&Photoshop』(技術評論社、2011年〔初版:2009年〕)読了

デジタルハリウッド『Webデザイン Illustrator&Photoshop』(技術評論社、2011年〔初版:2009年〕)を読了した。IllustratorPhotoshopを用いてホームページのイメージを形作っていく過程が分かりやすく書かれていた。CD-ROMも附属しており、本書の内容に沿って進んでいく形を取っておりより深い理解が得られたように思われる。

 

これまでホームページを作成する際には頭の中でイメージを作りそれに基づいて1つ1つ構築し、調整を繰り返していたのだが、Illustratorを用いてワイヤーフレームを形作っていく様は非常にためになった。あらかじめ配置をこと細かに決めておくことで実際のHP作成に取り掛かる際も調整の手間を減らすことができる。また、イメージを作っていく過程でIllustratorのデータをPhotoshopに書き出し、HPに使用する画像を作っていくことで効率化を図ることができる。

 

来月からHP作成に取り掛かるため、この本を大いに活用し、IllustratorPhotoshop両者の使い分けをうまくこなしていきたいと考えている。

 

 

Java② 苦手分野克服

先月C言語をやっていた際も条件分岐の部分に苦しんでいたのですが、今月Javaをやっていてもどうにも苦手意識が抜けないためこちらの本を参考にいくつかのプログラムを組んで練習することにしました。

スッキリわかるJava入門 第2版 (スッキリシリーズ)

スッキリわかるJava入門 第2版 (スッキリシリーズ)

 

 

天気による行動変化

天気が晴れ(true)であったら「洗濯する。」「散歩する。」

天気が雨(false)であったら「DVDを見る。」と表示させるプログラムを組みます。

まずは、晴れ(true)の場合から。

f:id:shika16:20161229032519j:plain

f:id:shika16:20161229032547j:plain

3行目にtrueを代入したことによりその行動が表示されました。続いて、雨だった場合は・・・

f:id:shika16:20161229032655j:plain

f:id:shika16:20161229032708j:plain

3行目にfalseを代入したことにより、その行動が表示されました。

 

もしトイレに誰かが入っていたら?

トイレに誰かが入っていた(true)場合、「ノックする。」「1分待つ。」を繰り返すプログラムを組みます。falseの場合は何も表示されないため、今回はtrueの場合のみを追っていきます。上部にコードを書き、実行ボタンを押したのですが・・・

f:id:shika16:20161229033031j:plain

 

「Timeout」となってしまいました。これは、「Ctrl+c」で強制終了しない限り延々と「ノックする。」「1分待つ。」が繰り返し表示されるプログラムであるため恐らくこのような結果になったのだと思われます。ちなみに、コマンドプロンプトで実行した様子はこのような感じです。強制終了するまでこれがずっと続くという若干の狂気を感じるプログラムですね・・・

f:id:shika16:20161229033225g:plain

 

数当てゲーム

0~9までの整数の中からランダムな数を1つ生成し、その数字を当てるプログラムを組みます。for文を用いてループを作り、制限は5回まで。数を当てられたら「当たり!」、外れたら「ハズレ」、5回以内に正解できなかった場合は「ゲームを終了します。」と表示させます。

f:id:shika16:20161229033544j:plain

 

コードを書いたら、下部の「入力」タブに数字を表記し実行ボタンを押します。

f:id:shika16:20161229033605j:plain

f:id:shika16:20161229033616j:plain

 

外してしまいました。「出力」タブの隣にある「実行時エラー」に関してですが・・・内容としては以下の通りになります。

f:id:shika16:20161229033630j:plain

いろいろと調べた結果、入力タブに数字が記入されていない状態であるとこのようなエラーが出るようです。上記のように数字を入力してもゲーム自体は「5回まで」は続くため、同様にエラーが吐き出されてしまったのでは、という推測です。当初、入力タブの機能をよく分かっておらず何も入力せずに実行したところ同じエラーが表示されました。

 

コマンドプロンプトで実行した際にはただひたすら数字を入力して当てにかかるだけなのですが、こちらで実行すると入力タブを使うしかないのか?という疑問が残りました。要は、仮に1回目外れたとして2回目に挑もうと入力タブに続けて(改行して)数字を入力すれど、一旦すべて消してから新たに数字を入力すれど、実行ボタンを押してしまえば1回目の状態に戻ってしまうといった状況でした。最初から入力タブに5回分の数字を記載しておけばよいのかとも思いましたが、やはり1回目と同じ扱いで「ハズレ」と出てしまったため、このあたりに大きく疑問が残る結果となってしまいました。

 

まだまだpaiza.IO自体使いこなせていないのかもしれません・・・ブラウザ上でプログラミングをできる他のサイトと比較もしつつ、もう少し探っていきたいと思います。

 

 

 

 

 

 

Java①「Hello World!」

今月はJavaの勉強に勤しんでいました。先月のプログラミング記事を受けてありがたいことに同期の方々からいろいろとアドバイスをいただきまして、今回はその時に知った「paiza.IO」を活用していきたいと思います。

 

paiza.IO概要

paiza.IOはオンラインですぐにプログラミングが始められる、 オンライン実行環境です。Java,Ruby,Python,PHP,Perlなど 主要24言語に対応。ファイルアップ機能、外部apiへの接続や、 スクレイピングなども可能です。 

 (https://paiza.io/より引用)

 

前回C言語を勉強する際にあれこれインストールしてコンパイルして・・・と諸々やっていたのですが、その諸々の手間を省けるのがこのサイトの機能です。Javaでの新規コード作成画面はこのような感じ。

f:id:shika16:20161229020907j:plain

 

言語を選択し、上部にコードを書き込んで実行ボタンを押せばそれがそのまま下部に結果として表示されます。今までの苦労はなんだったのか・・・と思うほど便利。今月はこちらのサイトを酷使していました。

 

Hello World!」

今回もまず、「Hello World!」を表示させるところから初めていきます。上部にコードを入力し、実行ボタンを押します。

f:id:shika16:20161229031626j:plain

f:id:shika16:20161229031709j:plain

 

無事表示に成功しました。今まではテキストエディタコマンドプロンプトを使い、これだけシンプルなプログラムでも何かと手間はかかっていたため大分時間節約になったように思います。そちらの知識も保ちつつ、これからはこちらのサイトを大いに活用していきたいと思います。

Illustrator② ロゴ作成

今回は、Illustratorでのロゴ作成に挑戦しました。

helpx.adobe.com

 

①パーツを作る

f:id:shika16:20161228112903j:plain

我が家にあるマイベースです。これを元にロゴを作っていきたいと思います。

 

f:id:shika16:20161228112939j:plain

ベースのパーツを1つ1つ分解するような感じで、その形を作ります。

 

②着色

f:id:shika16:20161228113038j:plain

シンプルなロゴにしたいため、単色で塗っていきます。

 

③パーツを組み合わせる

f:id:shika16:20161228113144j:plain

バラバラになっていたパーツを少しずつ組み立て、グループ化や調整を行います。

 

④全て組み立てる

f:id:shika16:20161228113254j:plain

若干の粗はあるものの、そこそこ近づいたかなという感じです。これに文字を付けたし、調整して・・・

 

⑤完成&おわりに

f:id:shika16:20161228113407p:plain

 

どうにかこうにか、ロゴを完成させることができました。

パーツを1つ1つ作っていくのに結構な時間がかかってしまったのですが、ベースのボディの複雑な形を作るのに苦労していました。ワープツールや自由変形ツールを駆使していたものの、もしかしたら鉛筆ツールの方が早かったかも・・・?そこはまた後々、改めて探っていきたいと思います。