カテゴリー「パソコン・インターネット」の記事

2016年7月 3日 (日)

TypeScriptあるいはES6

TypeScriptとかES6とかいった新しい用語が賑わっておりますね。私はけっこうこういうのとくに食わず嫌いなくてなんでもどんとこいなほうですのでさっそく新しい開発はTypeScriptで始めたところです。

TypeScriptはJavaScriptの進化系なんだけど、進化した分複雑になったかというと豈図らんやむしろこれまでのヘンテコなJavaScriptから脱却してすごくまっとうなオブジェクト指向言語に変身したものだったのだ。バックエンド側の開発やってた(=Java使ってた)人にはすんなりと理解出来る。いやむしろこれまでのJavaScriptが酷かったのだ。括弧の使いかたが変だし、クラスは定義できないし。変数定義は独特のスコープがあるし。

ということでTypeScriptいいじゃん、となった次第。


|

2016年5月20日 (金)

【備忘録】 Cordova でXcodeにエラーが出る

Cordovaでハイブリッドアプリ開発

Xcodeで実行時にこのようなエラーが出るときはプラグインを一旦削除してからインストールするといい

ERROR: Plugin 'Device' not found, or is not a CDVPlugin. Check your plugin mapping in config.xml.

プロジェクトのディレクリにcd
削除:cordova plugin remove cordoba-plugin-device
追加:cordova plugin add cordova-plugin-device

以前に作成したプロジェクトを流用して作成しているときなどに出やすいエラー。
Xcodeの左ペインで Pluginsフォルダに当該のプラグインが入っていなければまずここを疑うといい。


インストールされている(はずの)プラグイン名はプロジェクトのディレクトリにcdしてから
cordova plugin ls で確認できる。

|

2016年4月23日 (土)

キーボード交換

Macのキーボードが壊れた。純正品はタッチがいまひとつ好みでないので PFU の Happy Hacking Keyboard Lite にしてみる。Mac用ね。

日本語(JIS)配列なんだけどカナ刻印がないというマニアックな仕様。たっちやっぱりいいわ、押し込む深さがあり、絶妙な重さで沈んでくれる。そして指に吸い付くように跳ね返ってくる。クリック感はないのもまた好み。もっと早くこっちにしとけばよかった。

Img_8686


|

2016年2月22日 (月)

蕎麦道なび、Windows10 PCでも使えますよ

蕎麦道なび、Windows10ならばPCで動作します。

ぜひダウンロードしてみてください。
Windows10は無料でアップグレードできますのでそろそろやってもいい頃。

ダウンロードはこちら

パソコン・インターネット |

2016年2月21日 (日)

AngularJSについて

冬だし寒いから引きこもり。より柔軟で効率良い開発手法を求めてあれこれ調査と試作を続けております。

クライアント側での動的UI構築としてはこれまでずっとjQueryを使ってきましたが、さすがにあちこち古さが隠せなくなってきた。jQueryはDOM操作をちょこっとやるためのHTML機能拡張として使うにはいいけど、システムの大括りな設計を語るものじゃない。

ということで、クライアントサイドでのMVCフレームワークに本格的に取り組んだAngularJS がいいんでないのと、そろそろVer2も出るし、ngCordovaと組み合わせてiPhoneやAndroidのハードウエアも触れるようになってきた。いい頃合いではないでしょうか。

サーバはREST型のデータストアに特化し、UI/UXはクライアントのMVCが全面的に責任持つ、という役割分担は美しいと思う。

|

2016年2月13日 (土)

【備忘録】 Objective-Cでのdelegate実装

Objective-C delegate の作り方、要点のまとめ

1, 構造
TestViewクラスをTabBarController(親View)から使う
iOS9 / Xcode7での実装例

<br /> 2, TestView.h<br /> #import <UIKit/UIKit.h><br /> @class TestView;<br /> @protocol TestViewDelegate <NSObject> <--- プロトコル定義<br /> @optional<br /> -(void)dismissTestView:(UIButton*)button; <--- optionalメソッド<br /> @end<br /> @interface TestView : UIView<br /> extern const NSInteger testViewTag;<br /> -(TestView*)initWithRect:(CGRect)rect forDrawer:(BOOL)forDrawer; <-- ローカルなメソッド<br /> -(void)didTapOKButton:(UIButton*)button;<br /> @property (nonatomic, weak) id <TestViewDelegate> delegate; <-- delegateをメンバー定義<br /> @end</p> <p>3, TestView.m</p> <p>#import "TestView.h"<br /> @implementation TestView<br /> const NSInteger testiewTag = 9999;<br /> -(TestView*)initWithRect:(CGRect)rect forDrawer:(BOOL)forDrawer{<br /> :<br /> [button addTarget:self action:@selector(didTapOKButton:) forControlEvents:UIControlEventTouchUpInside];<br /> // 注:iOS8の場合はこちらを使って直接TabBarControllerを呼び出す<br /> //[button addTarget:_delegate action:@selector(dismissTutorialView:) forControlEvents:UIControlEventTouchUpInside];<br /> }<br /> // OKボタンの動作<br /> // TestViewのなかでいったんこれを読んでそこからdelegateにひもづける<br /> -(void)didTapOKButton:(UIButton*)button{<br /> // ここでローカルな処理をしてもよい<br /> // 例:NSLogなど<br /> if ([_delegate respondsToSelector:@selector(dismissTestView:)]) {<br /> // 画面非表示処理をデリゲートインスタンス(この場合はTabBarController)に委譲します。<br /> [_delegate dismissTestView:button];<br /> }<br /> }<br /> @end</p> <p>4, TabBarController.h<br /> #import <UIKit/UIKit.h><br /> #import "TestView.h"<br /> @interface TabBarController : UITabBarController<TestViewDelegate></p> <p>@end</p> <p>5, TabBarController.m<br /> @implementation TabBarController<br /> -(void)showTestView<br /> {<br /> TestView* ttView = [[TestView alloc]initWithRect:self.view.bounds forDrawer:NO];<br /> ttView.delegate = self; <-- オブジェクトのdelegateにself(親View)を代入<br /> [self.view addSubview:ttView];<br /> }<br /> // OKボタンの動作<br /> // 実際にViewを削除するのはこちら(親View)から行う<br /> -(void)dismissTestView:(UIButton*)button{<br /> TestView *ttView = (TestView*)[self.view viewWithTag:testViewTag];<br /> [ttView removeFromSuperview];<br /> }<br /> @end<br />
以上

|

2016年2月 6日 (土)

【備忘録】 Xcodeプロジェクト名の変更

Xcode 7.2.1 プロジェクイト名変更の手順

いろいろとやることあったのでちょっとまとめておく

プロジェクト名を変更
1, 左ペインからプロジェクト名をクリック
2, 右ペイン最上部に Identity and Type の Name を[新名称]に変更する

ビルドスキームを変更
3, [Product]-[Scheme]-[Manage Schemes]
左下の「+」をクリックするとダイアログ表示される
Target に[新名称]を選ぶ
Name に[新名称]を入力
OK
4,旧名称のSchemeを選択、左下「-」キーをクリックし削除

Podsを変更(必要あれば)
5, コンソールから操作
6, [新名称].xcodeprojのあるディレクトリに移動
7, Podsフォルダを削除 (rm -rf Pods)
8, 念のためPodfile内にプロジェクト名がないか確認あれば変更
9, $ pod install
10, [新名称].xcworkspaceが生成される
11, 旧名称.xcworkspaceを削除

Coreデータを変更(必要あれば)
12, ファインダーで操作。旧名称.xcdatamodeld ファイルを[新名称].xcdatamodeldに複製
13, Xcodeに [新名称].xcdatamodeldを読み込む
14, [Editor]-[Add Model Version...]
Version name : [新名称]
Based on model : [新名称]
Finish
15, ファインダーで操作、[新名称].xcdatamodeldを右クリック、パッケージ中身を操作
旧名称のバージョンを削除
16, Xcodeに [新名称].xcdatamodeldを再度読み込む
17, 13で読み込んだ [新名称].xcdatamodeldをXcodeから削除

とくにCoreデータではまります。
ビルドできてインストールもできるが実行時に落ちるときはここを疑うこと

以上

|

2015年10月10日 (土)

【備忘録】 Mac OSX El Capitan でSIPをOffにする

かなりハマりました

Mac OS X El Capitan で 一部の開発ツール(例 Python, Ruby)動作しない問題の解決方法

<SIP(System Integrity Protection)機能をOffにする>

1, 起動時に command-R を押し続けてリカバリモードで起動する
2, ユーティリティーターミナルを開き、csrutil disable と入力する
3, 再起動すればSIPがOffになる
4, 再度Onにするには 上記手順でcsrutil enable とする。

El Capitan では実行環境にかなり制限があります。とくに
開発環境では顕著です。bash環境変数のDYLD_LIBRARY_PATH
を設定しても無効とされてしまいPythonなどが動作しません。
原因は上記SIP。

なおOSの機能を無効とする予期せぬ副作用があるかもしれません。
操作は自己責任で慎重にお願いいたします。
当方は責任とりません。

|

2015年9月19日 (土)

【備忘録】 iOS9 アプリはhttp通信原則禁止

なんと、この日が来てしまったか。IT関係者ならご存知のはずですが全世界的な流れとしてweb通信プロトコルのhttpからhttpsへの移行が進んでおります。まあセキュアなほうがいいんで賛成ではあるんですが。しばらく先のことだしあんまり関係ねーよと余裕こいておりましたところ、大いに関係ありました。

iOS9からアプリからの通信にhttpが原則禁止となってしまったのである。晴天の霹靂とはこのことだ。もちろんiOS8用にビルドしたアプリは問題なくそのまま使えるが、新しいXcode7でビルドしたとたん通信が止まってしまった、いやはや焦りましたね。

とはいえこれは「原則」なので、非推奨ではあるが回避方法はもちろんある。info.plist に例外エントリを追加すればいい。でもこれはいわゆる激変緩和措置であるから、いずれは禁止されると思います。てことでアプリから通信するサーバはhttpsにしなきゃならない。なぜniftyが対応してないのか苦しむ。リソース置くのはiCloudにしてね、ということなんだとは思いますが。

|

2015年9月 9日 (水)

蕎麦道なび Windows10版、機能追加

蕎麦道なび Windows10版、検索と近隣一覧の機能を追加しました。数日以内に公開されるはずです

蕎麦道なび Windows10版、検索と近隣一覧の機能を追加しました。数日以内に公開されるはずで

Posted by 道なびシリーズ U-500 on 2015年9月9日

|

より以前の記事一覧