General プログラミングの必要性

2016年5月30日 | General | コメント (0)

政府は、プログラミング学習を小中学校で2020年から段階的に必修にする方針を固めたそうですが、その必要性が話題になっています。

現実として、プログラミング言語はいくつもあり、分野によって使う言語は異なります。しかも流行り廃りがあります。

現在、iPhoneやマックのソフトウェア開発には、Objective-CからSwiftへシフト。アンドロイドはJava、ウェブプログラミングは、PerlやPHPなどをSQLと組み合わせてプログラミングします。Windowsは、今でもC++でしょうか、それともC#でしょうか。ソフトウェアの会社によっても使っている言語が違うことが多々あります。

大雑把にいえば、上記のプログラミング言語は、C言語からの派生です。英語を勉強した後に、フランス語やドイツ語を勉強するよりは、簡単で、C言語からの方言程度と考えていいと思います。かといって、初心者が最初にC言語を勉強すればいいというわけでもありません。

C言語では、iPhoneやアンドロイドのアプリを作るためのオブジェクトの考え方がないので、C言語からObjective-CやC++へ派生していきました。なので、C言語の勉強は無意味ではないのですが、実践力にはなりません。

プログラミング言語は、コンピュータと使う人が直接目にする画面との間で、橋渡しをするものです。使う人が、画面上に数字を入力し、OKボタンをクリックした時に、どのような処理をするのかということを記述していきます。

重要なのは、どのプログラミング言語を勉強するかではなく、どのプログラミング言語でも基本となる、独特の使い回しです。変数の考え方や、条件分岐や繰り返し処理などの使い方をマスターすることが基本です。Objective-CやC++などのオブジェクト指向のプログラミング言語には、クラスを使ったカプセル化を理解する必要もあります。

小学生用のビジュアルプログラミング言語が、プログラミングのどのレベルまで対応するかというのが気になります。MITメディアラボの開発したScratchは、条件分岐や繰り返し処理に対応しています。プログラミングの考え方を身につけるのには、良い入り口かもしれません。

しかし、プログラミング言語を勉強しても、わかる人にはわかるし、わからない人にはわからないという現実が待ち構えています。子供用のビジュアルプログラミング言語を楽しんだとしても、ある一定以上のプログラミングの考え方の壁にぶち当たってしまいます。また、それを乗り越える意味もそれほどないように思います。

実は、プログラミングより重要なのは、ソフトウェアのアイディア、あるいは仕様のあたり。プログラミング言語は、外国語を学ぶより、はるかに簡単です。外国語の文法や単語に相当する部分はシンプルで覚えることも少ないのです。それよりもどのように組み立てるか、どんなソフトウェアにするのかということのほうが難しいのです。外国語の勉強でも、文法や単語を勉強するより、実際に勉強した外国語を使いこなすことのほうが、苦労が多いのではないでしょうか。

そんな発想力を身につけることのほうが重要です。iPhoneやアンドロイドでどんなアプリがあったら、より便利になるのか、楽しく使えるようになるのか、というアイディアの部分です。それをどのように実現するか、どのようなしくみにするのか、という部分が重要で、プログラミングは、それらをコンピュータが理解できる手順に書き換えるだけなのです。

すでに日本人の中には、有能なプログラマーが世界中で活躍しています。問題は世界で通用するアプリを作る発想力がないことでしょう。

それでは、そのような発想力を育てるにはどうしたらよいのか。より便利に、より楽しく使えるようにしたいという気持ちが起きるまでiPhoneやアンドロイドを使っていくことなのかもしれません。なかなかハードルは高いです。だから一部のプログラマーと多数の使う人に別れてしまうのですから。

報道では、「人工知能(AI)などの普及を見据え、新しい技術を使いこなして付加価値の高い仕事につく人材を増やす狙い」とありますが、それはプログラミング学習では育たないということです。

ちなみに日本が外貨を稼いでいるのは、自動車、産業機械、電子部品、電化製品、鉄鋼といった工業製品です。アニメやゲームも話題に上がります。しかしどれも教育の中で重要視していません。コンピュータの学習を重要視した結果、手先が不器用な人間を増やしてしまっただけです。

General 初めてのアンドロイドアプリ

2016年5月15日 | General | コメント (0)

YouTubeを先生に、Google検索を参考書にして、Android Studioの勉強。今までもXcodeを勉強しようとして、挫折する中、今回はAndroidアプリを一つつくるところまでできました。

Xcodeがなぜ挫折したかというと、本を買ってきて、取り組むまでに少し時間が空き、その間に、XcodeのバージョンアップやObjective-CからSwiftへの移行などで、本の通りに事が進まず、次のページに行けないのが原因でした。たまたま変化が大きい時期だったのかもしれません。

アンドロイドアプリは、EclipseからAndroid Studioに開発環境が移行し、Android Studioのバージョンが2になって、情報が集めやすいという時期のようです。YouTubeで解説動画が複数あるのもありがたい。

今回、画面構築や設定保存(プリファレンス)やSQLiteを勉強し、作ったのは「減煙支援アプリ」。類似のアプリで減煙していたのですが、微妙に気に入らないところがあり、これを機会にアプリ作成の練習にしました。

作ったアプリは↓
Oceansoft Library - 減煙支援アプリ

過去を振り返れば、BASICで始まり、Pascalは独学。C言語はたまたま募集していたエプソンの講習会に参加して、納得理解。Windowsにプラットフォームを移し、Visual BASICからDelphiへ。これも独学。

XcodeもSwiftでも情報が出回っているはずなので、今度は大丈夫かなと考えています。本を買うよりYouTubeで講習をしてもらえるなんて、便利な時代です。

Modefy サイトをモバイル対応にする

2016年5月 1日 | Modefy | コメント (0)

やっと重い腰を上げて、今さらながらモバイル対応にしました。

ヘッダに
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" media="(max-width: 480px)" href="<$MTBlogURL$>mobile.css">

インデックステンプレートを作成
「スタイルシート(モバイル)」という名前で作成

#container {
width:100%;
}

#header {
width:100%;
}

#header-inner {
width:100%;
}

#header-content {
padding:0;
padding:5%;
margin:0;
width:90%;
}

#header-name, #header-description {
width:100%;
}

#content {
width:100%;
}

#content-inner {
width:100%;
}


.layout-wt #alpha {
width:100%;
}

#alpha-inner {
padding-left: 5%;
padding-right: 5%;
width:90%;
}

.asset {
width: 100%;
padding:0;
}

#beta, #gamma {
display: none;
}

#footer-inner {
padding:0;
width: 90%;
}

#footer-content {
margin:0;
}

#footer {
margin:0;
}

.widget, .widget-content {
margin:0;
}

img {
max-width: 100%;
height: auto;
}

Hardware 音楽CD-Rはなぜ高いのか

2016年4月 2日 | Hardware | コメント (0)

音楽をCD-Rに書き込むとき、デジタルで記録されるので、データ用CD-Rでも音楽用CD-Rでも同じではないかと思うのですが、なぜか音楽用CD-Rというのが売られています。また、音楽用CD-Rはなぜ高いのかという疑問がわきます。

ネットで検索すると、音楽用CD-Rには著作権料が上乗せされているだけで中身は同じとか、データ用CD-Rでは再生できないCDプレーヤーがあるなど、いろいろな説明があります。

「Yahoo!知恵袋」や「教えて!goo」などの質問サイトは、答えを知らない人が質問し、その人自身がベストアンサーを選ぶので、正しい答えが選ばれないことが多く、参考になりません。

信頼できそうなサイトに「通信用語の基礎知識」というのがあるので、そちらを見ると...。
音楽用CD-R ‐ 通信用語の基礎知識

音楽用CD-Rは、再生側の問題ではなく、記録するためのCD-Rレコーダーへの制限。データ用CD-Rでは、家電品としてのCD-Rレコーダーでは書き込みができないということらしいです。つまりパソコンでCD-Rを作るときは、どちらを使っても同じということになります。CD-Rを再生できないCDプレーヤーは、データ用CD-Rでも音楽用CD-Rでも再生できないわけです。

ちなみに音楽専用のCDプレーヤーは、パソコンに比べるとはるかに性能の低いチップが使われているので、デジタル信号の読み落としが起きている率が高くなります。多少音が欠けても、人間の耳にはそれを聞き分けられる能力はありません。

しかし、パソコンの場合、デジタル信号の読み落としがあると、データとして使いものにならないので、音楽用のデジタル信号でも、ほぼ完全に読み取っているはずです。だからといって、パソコンで再生するほうが音はいいかどうかは、アナログに変換する部分の性能に左右されるので、一概には言えません。

Hardware HUAWEI P8Liteを購入

2015年12月 6日 | Hardware | コメント (0)

最近iPhoneやiPadでGoogleのアプリを使うことが結構多いことに気づきました。マップはもちろん、GmailやフォトなどGoogle製品を好んで使っています。最近、タイムラインを知って、ライフログとして記録するのにメモリからGoogle検索アプリが消えると記録が途絶えるので、意味もなく起動しておいたりしていました。

もちろんAppleのアプリも使うのですが、Google Keepが出たあたりから、いっそのことiPhoneからAndroidに乗り換えることにしました。iPhone4Sはすでに格安SIMのお世話になっているので、SIMフリー端末を購入するだけ。IIJmioで動作確認がされていて、軽くて薄く、価格も手頃なHUAWEI P8Liteを買うことにしました。

P8Liteの本体サイズおよびディスプレイはiPhone6とiPhone6Plusの中間。重量はiPhone6より軽いです。解像度は少しだけiPhone6より劣ります。CPU性能は、iPhone5sくらいのようです。2世代前。

Android端末は初めてではないので、最初に戸惑う部分は克服しています。以前使ったのは4年前だったので、いろいろ進化しています。iPhone4Sからの乗り換えだったので、とても快適です。

ヨドバシカメラで30,680円。ポイントは10%。

開封してちょっと驚いたのは、USBケーブルの白い粉。粉がまぶしてあるような状態。Apple製品や国内製品にはない微妙な感じ。大丈夫だろうか...。

最初におこなったのは、ホームアプリを変更すること。なんとなくHuawei製アプリは使いたくなかったので。GoogleNowランチャーにしました。GoogleNowとの親和性も考慮。

あとは、iPhoneに入っている同名のアプリをいろいろとインストール。面倒だったのは、二段階認証の端末の移行。今までGoogleのものを使っていましたが、IIJ SmartKeyに乗り換え。次の乗り換えのことを考えました。バーコード読み取りで移行できる機能があるそうです。

現段階で移行しないで残っているのは、iCloudに紐付いたもの。メモやリマインダー、それからPodcast。メモやリマインダーはGoogleKeepにデータを移す予定。Podcastはきっと何かいいものがあるでしょう。あとは青空文庫も。同名のアプリがないので、何か探さないと...。

デフォルトでは、ロック画面に通知が表示されないので、これも入れ替えました。Microsoft製のNext Lock Screenというもの。ラウンチャーとか天気とかいらないので、もっとシンプルなものがあったら乗り換えようと思っていますが、これはこれで快適です。

Macintosh このMacについてのストレージ

2015年11月29日 | Macintosh | コメント (0)

何かしているうちに「このMacについて」の「ストレージ」タブの色分けがおかしくなっていました。

他の方のブログでは
Spotlight:フォルダとボリュームの再インデックス方法 - Apple サポート
を参考に、修復できたというのもあるのですが、うちのはすべては修復できませんでした。

ちょっと強引ですが、
ルートにある
/.Spotlight-V100
をターミナルから削除。
screenshot_nm003.png
再起動すると、Spotlightのデータベースが再構築されて、色分けが正常になりました。
screenshot_nm002.png

Browser ブックマークとウェブクリップ

2015年11月15日 | Browser | コメント (0)

Firefox for iOSがリリースされ、メジャーな4大ブラウザが出揃いました。マックとiOSデバイスやWindowsと複数のデバイスでブラウザを使うので、アカウントでブックマークの同期などは非常に便利です。

複数のブラウザを使うのは、それぞれ微妙に用途が異なるからです。マックやiOSでは、Safari、Chrome、Opera、Firefoxを使いますが、インストール制限のある職場のWindows機では、Portable Firefoxを使っています。
IMG_6918.png
そのため、仕事関係でブックマークが必要かもしれないアクセスには、マックでもFirefoxを使います。マックでのメインのブラウザはChromeですが、裏で何かを調べたいときに、タブを開くのではなく、別のブラウザを開いて、切り替えて使うというやり方をしています。

iOSのChromeは動作がもっさりしているので、Safariがメイン。新しくリリースされたFirefoxは日本語入力関係の不具合があるようで、安定したらメインになるかもしれません。

また、Operaのディスカバーがお気に入りで、ちょっとニュースを眺めるときに便利だったりします。

iPhoneやiPadのiOSでは、キュレーションアプリやニュースアプリとの連携で、「あとで読む」系のアプリも使用しています。メジャーなところで、Evernote、Instapaper、Pocket、Readabilityとなるでしょう。ブラウザとの連携で、ウェブクリップして使います。
IMG_6919.png
ただし、Evernoteのベーシック契約では、月に60Mバイトまでしか使うことができないので、Scannableの転送用にして、ウェブクリップとしては使わなくなりました。

現在は、Instapaperにクリップしていますが、ブラウザと同様、プライベートと仕事用にサービスを使い分けるのもいいかなと思っているところです。

ところで、最近、ブラウザのブックマークを整理していて、ニュース系は特にそうなのですが、リンク切れが結構発生しています。当然です。ブックマークとウェブクリップの考え方を整理しないといけないと思いました。

ブックマークは、よくアクセスするサイトを登録。内容が日々(または不定期で)変化しているサイトを登録。そして、ウェブクリップは、記事の内容そのものを保存しておきたいときに使う。そういう使い分けをしないと、情報があちらこちらに散らばって探すことができなくなります。

Hardware トラックパッドの違い

2015年11月 8日 | Hardware | コメント (0)

ノートパソコンにはトラックパッドがついています。しかし、Windowsのノートパソコンでは、本体についているトラックパッドを使わずに、わざわざマウスを接続して使っている人がたくさんいます。一方マックのノートパソコンでは、マウスを接続せずにトラックパッドを使う人がほとんどです。Windowsとマックの両刀使いの人も、Windowsではマウス、マックではトラックパッド。

なぜ、Windowsのトラックパッドは使いづらく、マックのトラックパッドはそれほど使いやすいのでしょう。

まず使い勝手の違いは、その大きさにもあります。Windowsのトラックパッドは、機種にもよりますが、キーボードの幅で3つ分。とても小さいです。使っているうちに摩耗し、テカテカしたりします。
trackpad_nec.jpg
それに比べ、マックのトラックパッドは、キーボードの幅で6つ分以上。また、一見ボタンがないように見えるのも特徴です。どこを押してもクリックできます。触った感じもなめらかです。保護フィルムをつけていないiPhoneのようです。
trackpad_mac.jpg
大きさだけでなく、その機能も豊富です。マックのトラックパッドの使い勝手は、iPhoneやiPadのようです。スマホで、画面の内容を大きくしたいときに、指2本で広げたり縮めたりするような操作がありますが、そんな操作を含めて、さまざまな使い方が可能となっています。
screenshot_jt238.png
見た目や機能はよく似たWindowsとマックですが、こうした細かい違いが、使い勝手につながっているのでしょう。

余談ですが、最近、IBMでは、社内のパソコンをWindowsからマックへの移行をはじめました。その結果、社内のパソコンをサポートするスタッフの大幅削減が可能となり、結果的にコスト削減ができたということです。マックの安定性もありますが、Windowsからマックに乗り換えても戸惑いがないというのもあるのでしょう。

iPhone カメラアプリ

2015年11月 7日 | iPhone | コメント (0)

IMG_3081.pngスクエアフォーマットで位置情報を残すことができるカメラアプリを求めて、今までいろいろ試してきました。しばらくはProCamを常用していたのですが、そんな中、iOSのバージョンアップとともにスクエアフォーマットの採用があり、iOS9では、スクエアを選択した後、再度起動したときに選択したものを記憶してくれるようになり、使い勝手も向上。

標準アプリということで、高度な設定はありませんが、そもそもそこまでのことは求めていなかったので、起動も軽い標準のカメラアプリを使うことにしました。

Hardware iPad mini 4に格安SIM

2015年10月11日 | Hardware | コメント (0)

iPad mini 4の格安SIMにどのSIMを入れようか考えていたのですが、ヤマダ電機に「YAMADA SIM powered by U-mobile」というのが店頭に並んでいたので、これを入れることにしました。
150404_001.png
ただし、ちょっと間違ったのが、SMS機能は申し込み時点のオプションではなく、パッケージの段階で異なるということです。SMS機能なしのものを購入してしまいました。まあこれはこれで問題なくつながっているのでOKです。余分な出費がかさまなくて済みました。

ほとんどWi-Fi環境での運用なので、おそらく月に1GBを超えることはないと思うので、ダブルフィックスプランにしました。月に680円。価格でいえばもっと安いSIMもあるのですが、それなりに有名ドコロということで。

設定はプロファイルを使って、簡単に終了。LTEもすぐに掴みました。
IMG_3051.png
ところで、SMS機能は「ショートメッセージ送信」や「SMS認証が必要なSNSアプリの登録」が利点と書かれています。これにプラスして、「セルスタンバイ問題への対策」がいわれています。さらに「基地局の位置情報の取得をするため」というのもあるそうです。GPSだけだと少々時間がかかるんですよね。常時GPSはオンにしているので特に問題ないかもしれません。