2015年12月 2日

Swiftビギナーズガイド

Kindleオーナー ライブラリーで何か読もうと物色していて、Swift(アップルが開発した新しいプログラミング言語)の入門書を見つけたので、ダウンロードしてみました。Swiftビギナーズガイドです。


Swiftビギナーズガイド: アップルをプログラミングせよ! PRIMERシリーズ (libroブックス)

この本、どうやらKindleストアのみで販売されている個人出版的な本のようで、買っても僅か400円なのですが、それでも無料というのは気軽に試せて良いですね。著者は、昔からMac関連のプログラミング本をたくさん出されている掌田津耶乃さんです。

ちょっとだけ読んでみましたが、説明が簡素というか、かなり駆け足でSwiftの言語仕様を解説する本という印象です。プログラミング経験が全くない人が、この本だけで学ぶのは難しいように思いますが、逆に他の言語の経験がある私のような人間にとっては良い本ですね。短時間で要点だけ学べそうです。

ちなみにKindleオーナー ライブラリーは、次の本をダウンロードすると、それ以前の本は読めなくなってしまうのですが、この本をざっと読んだら、あとはネットの情報だけでなんとかなるんじゃないかと思っています。とはいえ、使わずに時間がたつと忘れちゃいますけどね(^^;)

コメント (2)

2015年4月16日

Inconsolata

20150416.pngInconsolataというフリーの等幅フォントがあるようです。なんでも、WindowsのConsolasというフォントを意識して作られたものだそうで、私はあいにく両方とも知らなかったのですが、書体としてはこれと言って特徴のない(褒め言葉です)普通の等幅フォントですね。

プログラムのソースコードの編集には、こういった等幅フォントが使いやすいわけですが、私はここ何年かは、ずっとAdobeのSource™ Code Pro使っていました。これ、視認性は良いのですが、デザイン的にはちょっと馴染めない文字があるので(ゼロとか)しばらくこのInconsolataを試してみようかなと思っています。もちろん、Windowsでは素直にConsolasのほうを使えば良いので、とりあえずMacに入れてみました。

コメント (2)

2015年1月16日

新版 暗号技術入門

新版 暗号技術入門 秘密の国のアリスという本を買いました。


新版暗号技術入門 秘密の国のアリス
今度、仕事で暗号を利用したプログラムを作る可能性があるので、予備知識程度は学んでおこうと少し前から物色していたのですが、評判が良さそうなこの本にしました。暗号アルゴリズムを本気で学ぶつもりはありませんが、ソフトウェア技術者の教養として読んでみようと思っています。

ちなみに今回はKindle版を買いました。これまでマンガや小説、雑誌などはそれなりに買ってきましたが、技術書を買うのは初めてです。技術書は本棚に並べておきたい気もするし、値段もあまり変わらなかったので悩んだのですが、読むときの快適さはもう紙の本を上回っているんですよね。まあ、今後については、これを読んで考えたいと思います。

コメント (2)

2015年1月 5日

FlashAir Downloader (仮) その2

昨年12/28の日記のその後です。年末年始にそれなりに進めましたが、まだGUIが完成していません。一応、使えるレベルにはなっているのですが、いじっていると例えば「列の幅を変えられたほうがいい」「ソートもできたほうが便利だ」等々、改善できそうなネタがどんどん出てきてキリがありません(^^;) 最初のバージョンはシンプルにしたいと思う反面、ある程度のものを作っておきたくもあるので、悩ましいところですね。

それにしても、CocoaのNSTableViewは面倒ですね。昔、仕事でiPhoneアプリを作ったときにも使ったはずですが、すっかり忘れていました(^^;) 高機能だから面倒なのは仕方ないのかもしれませんが、もっとシンプルで使いやすいリストボックスはないんですかねぇ。

コメント (0)

2014年12月28日

FlashAir Downloader (仮)

23日の日記のその後です。FlashAirからフォルダ単位でファイルをダウンロードするアプリケーションの開発を始めました。名前は仮に、FlashAir Downloaderとしておきました(^^;)

まだGUIはありませんが、とりあえずFlashAirからMacにファイルをコピーするプログラムは完成しました。ファイル単位およびフォルダ単位のコピー、そしてコピー後にファイルの作成日と更新日を撮影日と同じ日時に変更する処理もうまくいきました。

個人的には、コピー元もコピー先もいつも同じ場所なので(写真が入っているフォルダからデスクトップへ)実用上、これで完成としてしまっても問題ありません(^^;) ただ、せっかくなので、ちゃんとしたGUIを作りたいと思います。大変なのは、ここからだ・・・。


関連リンク
FlashAir Downloader (仮) その2 (2015年01月05日)

コメント (0)

2014年12月 8日

iOS Developer Program 4回目の更新

ほとんど利用していないiOS Developer Programですが、今年も更新しました。実は11月末でいったん切れていたようです。まあ、忘れていたわけではないのですが、更新すべきか迷っているうちに、なんとなく時間が過ぎてしまいました(^^;)

このままやめようかとも思ったのですが、更新ページを見に行ったら、昨年より200円も安い7,800円+消費税になっていたので、勢いで更新してしまいました(^^;) 円安だし、高くなっていたらやめようと思っていたので、意外です。まあ、消費税は8%になっているので、トータルでは高いんですけどね。

ちなみに、諸々のデータが消えてしまっても別に構わないと思っていたのですが、それもちゃんと残っていました。どのくらいの期間、残るんですかね? 来年も似たような状況だったら、もう少し引っ張ってみようかな(笑)

コメント (0)

2014年12月 5日

Visual Studio Community その後

一昨日の日記のその後です。さっそくダウンロードして使ってみました。

最初、念のためISOイメージをダウンロードしてDVD-Rに焼いておこうと思ったのですが、思ったよりサイズが大きく、2層DVDじゃないと無理そうだったので、諦めてネットワークインストールしました。時間はかかりましたが、全く問題なくインストールできました。日本語パックもインストールして言語を切り替えると、日本語版と言ってもいいレベルになります。これで十分ですね。

GUIは見た目がフラットデザインに変わっていますが、ほぼ2008と同等ですね。ソースエディタは、よくある親切機能がかなり追加されていて、まだ慣れません(^^;) タブが以前より使いやすくなっていて嬉しいですが、Controlキーを押しながらマウスのホイールを回すとフォントサイズが増減するという嫌な機能が追加されていました。(2010からみたいです) キーボードでコピー&ペースト等を実行したあとスクロールしようして、何度もミスしてしまうので、Disable Mouse Wheel Zoomというフリーの機能拡張をインストールして機能を停止しました。設定でオフにできるようにして欲しいですね。

ビルドも大きな問題はありませんでした。でもこれはソースによるでしょうね。なお、MFCは付属しているものの、Unicode版しかなく、マルチバイト文字セット版は自分でダウンロードしてインストールする必要があります。まあ、私はあまり使わないんですけどね。

コメント (0)

2014年12月 3日

Visual Studio Community

取引先の会社で教えてもらって知ったのですが、11月にマイクロソフトがVisual Studio Community 2013というVisual Studioの無償版を出したそうですね。調べてみると発表からもう半月以上たつようで、不覚にも知りませんでした。

まだ英語版しかないようですが(日本語の言語パックはある)5〜6万円くらいするProfessional Editionと同等のものが、従来の無償版であるExpress Editionとは違った条件で使用できるようです。経費節減で、いまだVS2008を使用している私にとっては朗報です。

仕事で使うとなると問題になりそうなのは、その使用条件のうち「年商1億円未満の企業」という部分です。いや、私がこの額を超えることはないのですが、受託開発の場合、発注元もこの条件内でなければならないそうです。"年商"となると、ちょっとした中小企業でも超えますよね。それに中小の場合「御社の年商は?」とか訊きにくいです(^^;)

まあ、だめな相手のときは別の方法を考えれば良いので、近いうちにダウンロードして試してみようかと思っています。


関連リンク
Visual Studio Community その後 (2014年12月05日)

コメント (0)

2014年11月11日

Macのドラッグ&ドロップの不具合

Macのプレビュー.appには、複数の画像ファイルを同時に(アイコンへのドラッグ&ドロップ等で)開くと1つのウィンドウにまとめて表示してくれる機能があります。これは複数の画像ファイルを1つのPDFにまとめて保存したりするのに大変便利なのですが、まれに勝手に2つのウィンドウに分かれてしまうことがあります。

この問題はMac OS Xのだいぶ前のバージョンからあって、ずっとプレビュー.appのバグなんだと思っていました。しかし、どうやらそうではないようです。自作のプログラムでも似たような現象が発生しました。

調べてみると、 NSApplicationDelegate の -application:openFiles: (OpenFileではなくopenFilesのほう)を使っていても、これが2回(2回以上もある?)呼ばれているようです。

この現象が発生しても、例えばファイルを1つ1つのウィンドウに開いていくだけのプログラムなら特に問題になりません。順々に全ファイルを処理すれば良いからです。しかし、前述のプレビューのように、開いたファイルを1組として、何らかの処理を行いたい場合には問題となります。

私の今回のプログラムでは、ドラッグ&ドロップで開かれたらアラートボックスを出してユーザーに確認し、OKされたら処理を行い、終わったらまたアラートで報告するという単純なものでした。この現象が出ると、この確認→処理→報告が2回に分かれてしまうのです。実害はなくとも、非常に格好の悪い不具合です。

おそらくOSかFinderの問題だと思うのですが、ずっと修正されないままというのが疑問です。他に何かあるのでしょうか? まあ、アプリ側の工夫で回避することも可能ですが、ちょっと泥臭くなって面倒ですね。

コメント (0)

2014年11月 7日

Xcode 3.1 再び その後

昨年5/29の日記のその後です。Power Mac G5に構築したXcode 3.1.4の環境を、メインのMac miniのMac OS X 10.5のパーティションに移しました。実はちょっと前に再び使用したのですが、G5だとコンパイルがとにかく遅くて、さすがにめげました(^^;) ResorcererだけはPowerPCアプリなので遅くなるけど、Xcode 3.1.4はIntel CPUにも対応してるので、かなり快適になりました。画面も今のモニタ解像度(1920x1200)いっぱいで使用できるようになりましたしね。

Intel MacなのでMac OS 9以前向けの開発は難しいけど、さすがにそれはもう機会がないだろうし、これでほぼPower Mac G5は退役ですかね・・・。今にして思えば、かなり高いマシンだったけど、長らく活用できました。

コメント (0)

2014年10月23日

Prefs Editor

最近はMac OS向けのネイティブアプリの開発の仕事はめっきり減っているのですが、先日、とある古いソフトのサポートで久々にいじる機会がありました。そのとき、Prefs Editorというフリーソフトを見つけました。アプリの初期設定ファイルなどで使われている、プロパティリスト(.plist)ファイルを編集するためのソフトです。

このアプリの有用性を知ってもらうには、少々歴史を語らねばなりません(^^;) プロパティリストファイルはMac OS Xのバージョンが上がるにつれ、どんどん扱い方が変わっているのです。

Mac OS Xができた頃、プロパティリストファイルはテキストファイル(XMLファイル)だったので、テキストエディタで編集ができました。そのため、客先でも内容をチェックしたり編集したりといった作業が普通にできました。

Mac OS X 10.4では、プロパティリストファイルはバイナリファイルになり、専用アプリで編集しなければならなくなりました。しかし、Xcode(Mac OS X向けのアプリケーション開発環境)にProperty List Editorというツールが含まれていたので(これはバイナリになる以前から存在していた)簡単に編集ができました。単独でも動作するアプリだったので、私はこれをUSBメモリに入れて持ち歩いていました。

その後、Mac OS X 10.7の頃でしょうか、Property List EditorはXcodeに統合され、単独で動作するアプリはなくなりました。Xcodeは巨大で、インストールにも時間がかかるため、この頃から客先でのプロパティリストの編集は困難になりました。

更にMac OS X 10.9では、このプロパティリストファイルはOSによりキャッシュされるようになり、削除や編集をしても勝手にキャッシュ前に戻されてしまうという、とんでもない制限がつきました。ターミナルからコマンドを打って、このキャッシュ機能をオフにした上で編集するといった泥臭い手順が必要になり、自分の開発マシンでやるにしても、かなり面倒な作業になってしまいました。まあ、一般ユーザーには影響が少ないのかもしれませんが、甚だプログラマ泣かせな仕様変更です。

そこでPrefs Editorです。このフリーソフトがいつごろ世に出たのか分かりませんが(おそらく昨年?)これを使えば以前のProperty List Editorと同じ感覚でプロパティリストの編集が行えます。たいへん良いものを見つけました。

ちなみにソースコードを見ると、このプログラムはXojo(旧REALbasic)製なんですね。まだ生き残っていたとは・・・(失礼(^^;) )

コメント (0)

2014年7月 9日

iOS開発 再開

6/26の日記のその後です。先週末くらいから個人的なiOS開発を再開しました。間があくと忘れてしまうので、1日5分でもいいからやろうと誓って始めたのですが、さていつまで続くでしょうか(^^;)

ちなみに最後にiOSのプログラミングをしたのは昨年の暮れなので、半年ぶりですね。あのとき作ったダーツの計算アプリは、シミュレータで動くのを確認したら満足してしまって、その後は使ってもいなかったのですが(笑)まずはリハビリがてら、そのアプリをiPhoneの実機に入れてみました。

思ったより使いやすかったので、細かいところに改良を加えたりデザインを見直したり、だんだんやる気が出てきました。やはり実際に使ってみると不満な点も明確になりますね。単なる計算機ではなく、記録を残したりレポートを集計したりできるようにすれば、リリースする価値もあるかもしれません。

とはいえ、肝心のダーツのほうは、3月に体調を崩したこともあり、あまりやっていません。腕もかなり落ちました・・・。気分転換になるので、またちょくちょくやりたいとは思っているんですけどね。

コメント (0)

2013年11月28日

iOS Developer Program 3回目の更新

今年もiOS Developer Programを更新しました。もうやめようかとも思っていたのですが、実は今、個人的に開発しているアプリがあるので、もう少し継続してみることにしました。円安になっているので高くなっていないか心配していたのですが、まだ昨年と同じ8千円(+消費税)でした。将来また仕事でやる可能性もあるし、このくらいなら維持費としてもなんとか我慢できるレベルですかね。

ちなみに開発しているアプリというのは、ダーツの点数を計算するアプリです(^^;) 一人で黙々と投げているだけだと張り合いがないので、最近はカウントアップ(3投×8ラウンドの合計点数で競うゲーム)をやっているのですが、暗算だと途中で分からなくなってしまうことがあるんですよね(^^;) まあ、点数は足していくだけなんですが、何ラウンドやったのか忘れてしまう(自信がなくなってしまう)ことが結構あります。

その手のダーツアプリはApp Store上にもいくつかあるのですが、どうも使い勝手が良いものが見つからず、自分で作ることにしました。GUIは各点数のボタンがあるだけの単純なものですが、いちおう既に使えるレベルにはなっています。凝ったものを作るつもりはないので、今のところリリースは考えていません。つまんないものを安易に公開したりしてしまうと、それこそDeveloper Programをやめづらくなりますからね(笑)

コメント (0)

2013年10月10日

Win32アプリの64bit対応

ちょっと前に仕事で、Windowsアプリの64bit対応作業を行いました。元はWin32 APIで(C++で)組んだアプリで、そのソースを32bit/64bit両対応に修正したわけですが、事前に考えていたよりずっと楽でした。intやlong、float、doubleなど、基本的な数値型のサイズが32bit版と変わっていないので、非常に安心感があります。ポインタだけは当然64bitになっていますが、それを32bitの変数に代入したりすればコンパイル時に警告が出るので、慎重に対応すれば問題ありません。ちょっと肩透かしなくらい簡単でした。

ただ、64bitアプリからは32bitのDLLが呼べないので、使用しているDLL(他人が作ったものとか)が32bitにしか対応していないと困ります。今回も、とあるハードウェアのSDKがそうだったので、そこだけ32bitの別アプリにして、アプリケーション間通信で対応するという面倒なことをしました。こういった裏ワザ的な対処方法は他にもいくつかあるようですが、時間がないと大変ですね。

最近は市販のPCも、はじめから64bit版Windowsを搭載しているケースが増えてきました。ドライバ関連はだいぶ揃ってきているし、そろそろ本格的な64bit時代ですかね。まあ、WindowsのWOW64(64bit版Windows上で32bitアプリを動かす仕組み)は非常に良くできているので、あまりメモリを使わないアプリは、無理に64bit化しなくても良いとは思いますけどね(^^;)

コメント (0)

2013年9月23日

iPhone 3GSをアップデート

メインのiPhone 4SをiOS 7にしてしまったことにより、iOS 6の環境が1台もなくなってしまいました。アプリ開発のテスト用に確保しておきたいので、古いiPhone 3GSをiOS 4から6にアップデートしました。もともとiOS 7は非対応の機種なので、これで最新の状態となります。

あとはiPad(初代)がiOS 5なので、一応これで5,6,7のテスト環境が、かろうじて確保できたことになります。4はなくなっちゃったけど、そろそろ切り捨てても良いでしょう。まあ、iPod touch(初代)のiOS 3ならありますけどね(^^;)

とはいえ、最近はiOS向けの開発の仕事は全くやっていないので、こんな環境整備は無駄かもしれません。iOS Developer Programも来月更新なのですが、もうやめようかと思っています。年間100ドルとはいえ、もったいないですからね・・・。


関連リンク
iOS Developer Program 3回目の更新 (2013年11月28日)

コメント (0)

2013年5月29日

Xcode 3.1 再び

最近、Macでの開発はあまりやっていなかったのですが、仕事で古いプログラムをメンテしなければならなくなり、Power Mac G5に再び開発環境を作りました。Carbonアプリで、かつPowerPCもサポートする必要があるので、今のMac miniだと厳しいんですよね。というか、もう無理かな? 色々やれば可能なのかもしれませんが、調べている時間が惜しいので、素直に古いマシンでやることにしました。リソースエディタ(Resorcerer)も必要ですしね(^^;)

Power Mac G5で動作する最終のOSは10.5です。Wikipediaによると、10.5で動作するXcodeは3.1.4が最後みたいなので、それをアップルのサイトからダウンロードしてきてインストールしました。今でも古いバージョンが入手できるのはありがたいですね。設定を少しいじる必要はあったけど、問題なくビルドできました。

ただ、久々にG5を使ったら、思ったより使いづらかったです。まず、ハードディスクは買った時に入っていた80GBのに戻してあるので、かなり遅く感じました。普段はSSDですからね。また、新しいモニタになってから実作業で使うのは今回が初めてですが、画質が悪くて驚きました。VGA接続なので1600x1200になるのは仕方ないとして、それでも他のマシンに比べるとボケボケです。DVI切替器を買って、そちらで使いたくなりました。でも、どうせ切替器を買うなら3ポート以上のが欲しいし、そうなると高いんですよねぇ。


関連リンク
Xcode 3.1 再び その後 (2014年11月07日)

コメント (0)

2013年1月10日

QTKit その2

一昨日の日記のその後です。動画を再生するだけのアプリはうまくいったので、次は5秒ごとにJPEG画像として出力するプログラムを追加してみました。GUIを作る前に、パフォーマンスをチェックしたかったというのが理由です。

QTMovieクラスのframeImageAtTime:メソッドを使ったのですが、結果は・・・かなり遅いですね(^^;) 試したのはiPhone用にエンコードした解像度960x540のH.264動画ですが、うちのMacBook Air (Intel Core 2 Duo 1.6GHz)だと、1枚書きだすのに1〜2秒かかる感じです。

ファイルに保存する処理に時間がかかるのかと思って、そこだけコメントアウトしてみましたが、それでもあまり変わりませんでした。やはり動画から1フレーム分デコードするのに時間がかかるのですね。QuickTimeを使う以上、1つ1つの処理時間はどうしようもないから、あとはトータルの速度ですね。CPUのコア数分だけ並列で処理したら多少マシになるでしょうか? 2コアだとあまり変わらないような気もしますが、あとで試してみたいです。

実際にはPS3のようなサムネイル表示のGUIを作るつもりなので、1画面に表示するのは多くても10個以内でしょう。順番を考えてバックグラウンドでうまく処理すれば、そこそこのものができるような気もします。PS3並の速度は無理かもしれませんが、まあ作ってみましょう。


ちなみに、なんでこんなソフトを作ろうとしているかというと、iTunesでポスターフレームを設定するのが非常に面倒だからです。ポスターフレームはiPhone側でサムネイルとして表示されるので、できるだけその動画の内容が分かるようなシーンを設定したいのですが、高解像度の動画だと、あの短いスライダーだけで探すのは苦痛なんですよね。そこで、簡単にシーンをチェックできるアプリが欲しいとなったわけです。できればポスターフレームの設定自体が行えるものを作りたいところですが、そこまで可能なのかな? これもあとで調べてみましょう。

しかし、ハードウェアや動画フォーマットは違うけど、やってることは7年くらい前から全く変わってないなぁ(^^;)

コメント (0)

2013年1月 8日

QTKit

Macで、動画ファイルを一定時間(数秒〜1分くらい)ごとにサムネイル表示できる(PS3のシーンサーチのような)アプリがないかと思って探したのですが、見つけられなかったので自分で作ることにしました。

以前、PSP用の動画ツール的なものを作ったことがあるので、QuickTimeのことはだいたい分かっています。ただ、あれはCarbonアプリだったので、今回は勉強も兼ねてCocoaで作ります。そんなわけで、初めてQTKitを使ってみました。

WebKitは経験があるので、おそらく似たようなものでしょう。まずは単純に再生するだけのプログラムを作ろうと、見よう見まねで始めたのですが、どうも実行すると(動画を開くと)クラッシュしてしまいます。アップルに何かサンプルがないかと探したところ、QTKit Application TutorialにCreating a Simple QTKit Media Player Applicationという、期待どおりの情報がありました。

さっそく同じように作ってみたのですが、実行するとやはりクラッシュしてしまいます。ここで、Xcodeのバージョンが違うせいだと確信しました。アップルのサンプルはXcode 3.2を前提としているようですが、今の最新版は4.5.2です。

色々なところの設定を変えて試行錯誤したのですが、XibファイルのDeploymentのOSバージョンを1つずつ古くしていったところ、NSWindowのUse Auto Layoutという設定が引っ掛かりました。これをオフにして実行してみたら、無事に動作するようになりました。面倒なところではなくてホッとしました。

アップルは狂ったようにXcodeのバージョンアップを繰り返していますが、ドキュメントのメンテに関しては、全く行き届いているとは言いがたい状態ですね。進化が早すぎて、たまにしかやらない人間には厳しい世界です。純正のチュートリアルですらこの有様ですから、市販の書籍なども同様なんでしょうね。


関連リンク
QTKit その2 (2013年01月10日)

コメント (0)

2012年11月13日

久々にWebアプリ開発

仕事で、久々にWebアプリを作ることになりました。展示会デモ用の簡単なものなのでPHPで作るつもりでいますが、長いこと使っていなかったので、かなり忘れています(^^;) PHPだけでなくJavaScriptもあるので、混乱するんですよね。しばらくリハビリが必要そうです。

クライアントマシンはiPadを想定しているので、こちらも久々に引っ張り出してきました。検証用にRatinaディスプレイモデルが欲しいところですが、16GBでも4万円以上するので悩みます。他に使い道があれば即決なんですけどね。

ちなみに私はもうiPadを個人的な用途で使うことは、ほとんどなくなってしまいました。電子書籍(主にJコミのマンガ)を読むときはこれを使うつもりで用意はしてあるんですが、読んでる時間がないんですよね。マンガは新刊だけで手一杯です(^^;)

コメント (0)

2012年10月19日

iOS Developer Program 2回目の更新

今年もiOS Developer Programを更新しました。この1年は何も作らなかったので、年8,400円とはいえ、さすがにちょっと高く感じますね。開発環境が無料ということで許せるのは何年までかな?(^^;)

ちなみに私は実機テストのためだけに加入したので、今後もう開発しないとなればやめることもできますが、1本でもアプリを公開したりしたら、もうずっとやめられないんでしょうね。特に、無料アプリを公開して人気が出たりしたら大変だ(笑)

コメント (0)

ページ: 1  2  3  4  5  6  7 >>