開発ブログ - 最新エントリー
VMWare WorkStation Pro でディスクを拡張しようとしたが、以下のエラーが出る
どうやらスナップショットの削除がうまくいかずに
スナップショットがあるかのように見えているらしい
たしかにフォルダを眺めると
vmdk ファイルがいくつか残っている
いったんスナップショットの作成を行って
すぐにスナップショットの削除を行って、無事にクリーンアップされてから
ディスクの拡張を行ったらうまくできた!
よかったー
呼び出された機能は部分的なチェーンでは実行できません。親仮想ディスクを開いてください。
どうやらスナップショットの削除がうまくいかずに
スナップショットがあるかのように見えているらしい
たしかにフォルダを眺めると
vmdk ファイルがいくつか残っている
いったんスナップショットの作成を行って
すぐにスナップショットの削除を行って、無事にクリーンアップされてから
ディスクの拡張を行ったらうまくできた!
よかったー
とりあえず繋いじゃう
読み取り専用になっている
ターミナルで
すると
的なものが出てくる
(USB_SSD の場所はたぶんディスクに付けた名前?)
finder でマウントを解除
ターミナルで
とすると自分のホームディレクトリに USB_SSD_RW とかできるので
そこを読み書きする
終わったら
とかする
(マウントポイント /Volumes/USB_SSD_RW は勝手に消される)
参考
https://qiita.com/amaebi/items/25471c4b494a252dfbde
読み取り専用になっている
ターミナルで
% sudo mount
すると
/dev/diskxxxx on /Volumes/USB_SSD (ntfs, local, nodev, nosuid, read-only, ...
的なものが出てくる
(USB_SSD の場所はたぶんディスクに付けた名前?)
finder でマウントを解除
ターミナルで
% sudo mkdir /Volumes/USB_SSD_RW
% sudo mount -t ntfs -o nobrowse,rw /dev/diskxxx /Volumes/USD_SSD_RW/
% ln -s /Volumes/USB_SSD_RW ~/
とすると自分のホームディレクトリに USB_SSD_RW とかできるので
そこを読み書きする
終わったら
% sudo umount /dev/diskxxx
% rm ~/USB_SSD_RW
とかする
(マウントポイント /Volumes/USB_SSD_RW は勝手に消される)
参考
https://qiita.com/amaebi/items/25471c4b494a252dfbde
XCode で開発しているときに
以前に使ったシミュレータが分からなくなってしまうことがある
一生懸命データ追加したのに、別のシミュレータ立ち上げてしまって、表示されないとか悲しい
という訳で、以前に使ったシミュレータのデバイスとバージョンを調べたい
こうすると、シミュレータで動かしたアプリケーションの一覧とそのデバイス用のフォルダが得られる
(*.app の部分を具体的なアプリケーションの名前にすれば、そのアプリケーションを動かしたシミュレータのフォルダだけが表示される)
判明したdeviceフォルダの中の device.plist を見る
以前に使ったシミュレータが分からなくなってしまうことがある
一生懸命データ追加したのに、別のシミュレータ立ち上げてしまって、表示されないとか悲しい
という訳で、以前に使ったシミュレータのデバイスとバージョンを調べたい
cd ~/Library/Developer/CoreSimulator/Devices
find . -name '*.app' -print | awk -F/ '{print $2,$8}'
こうすると、シミュレータで動かしたアプリケーションの一覧とそのデバイス用のフォルダが得られる
(*.app の部分を具体的なアプリケーションの名前にすれば、そのアプリケーションを動かしたシミュレータのフォルダだけが表示される)
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx foobar.app
判明したdeviceフォルダの中の device.plist を見る
cat xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/device.plist
python で開発を行う場合に、virtualenv を使うと
固有なパッケージなどを設定した仮想環境を作ることができる
固有なパッケージなどを設定した仮想環境を作ることができる
.htaccess に以下を追加
AddHandler cgi-script .py
.py は cgiスクリプトとして実行
#! には 制限なし?
#!/virtual/username/bin/python
などもOK
ヘッダを出力しないと 500 エラーになる
たとえば以下のようなものを出力しておく
print 'Content-type: text/html; charset=UTF-8\n'
RewriteBase は public_html 以下を書く
public_html/test1 なら
RewriteBase /test1/
ちなみに coreserver では .htaccess に
Options
を書くとInternal Server Errorになる?
AddHandler cgi-script .py
.py は cgiスクリプトとして実行
#! には 制限なし?
#!/virtual/username/bin/python
などもOK
ヘッダを出力しないと 500 エラーになる
たとえば以下のようなものを出力しておく
print 'Content-type: text/html; charset=UTF-8\n'
RewriteBase は public_html 以下を書く
public_html/test1 なら
RewriteBase /test1/
ちなみに coreserver では .htaccess に
Options
を書くとInternal Server Errorになる?
swift3
swift で protocol を dict のキーにしたい
swift の Dictionary のキーは Hashable でなければならない
そこで protocol に Hashable をつけてみる
しかしこれでは
Using 'Foo' as a concrete type conforming to protocol 'Hashable' is not supported
Protocol 'Foo' can only be used as a generic constraint because it has Self or associated type requirements
などとエラーになる
そこで ObjectIdentifier を使って
とするが
Cannot invoke initialize for type 'ObjectIdentifier' with an argument list of type '(Foo)'
となる
おそらく protocol は struct で実装することができ、
ObjectIdentifier は struct などには使えないからダメなのだろう
そこで Foo を class に限定する
これで完成!
swift で protocol を dict のキーにしたい
swift の Dictionary のキーは Hashable でなければならない
そこで protocol に Hashable をつけてみる
protocol Foo: Hashable {
var a: Int { get }
}
var v: [Foo: Int] = [:]
v[f] = 1
しかしこれでは
Using 'Foo' as a concrete type conforming to protocol 'Hashable' is not supported
Protocol 'Foo' can only be used as a generic constraint because it has Self or associated type requirements
などとエラーになる
そこで ObjectIdentifier を使って
var v: [ObectIdentifier: Int] = [:]
v[ObjectIdentifier(f)] = 1
とするが
Cannot invoke initialize for type 'ObjectIdentifier' with an argument list of type '(Foo)'
となる
おそらく protocol は struct で実装することができ、
ObjectIdentifier は struct などには使えないからダメなのだろう
そこで Foo を class に限定する
protocol Foo: class {
var a: Int { get }
}
var v: [ObjectIdentifier: Int] = [:]
v[ObjectIdentifier(f)] = 1
これで完成!
[UIScreen screens] count] で画面数を取得?
http://do-gugan.com/~furuta/archives/2012/01/ios_4.html
http://blog.syuhari.jp/archives/2251
swiftだと自動的にreleaseされてしまうので
UIWindow のインスタンスは保持しておかなければダメ!
http://do-gugan.com/~furuta/archives/2012/01/ios_4.html
http://blog.syuhari.jp/archives/2251
swiftだと自動的にreleaseされてしまうので
UIWindow のインスタンスは保持しておかなければダメ!
長いこと原因が分からなかったトラブルが
ようやくわかった!!!
swift で CoreData を使っていた
元々は ObjectiveC で書かれていたものを swift に書き直していたのだが
なぜか CoreData で relationship しているプロパティに代入をする部分で
というエラーが発生していたのだった
原因は、自分で作成したメソッド名にあった
プロパティが members だとして
members にアクセスすると [Member]として取得できないので
func getMembers() -> [Member]
というメソッドを作成して、それを使っていたのだった
どうも、swift では getXxxxx というアクセッサが生成されているのか、
members にアクセスしたときに、getMembers() が呼ばれてしまい
そのために members が NSSet としてアクセスできなくなったためのようだ
という訳で、プロパティ名に get なんちゃら というようなメソッドを
無意識に使ってしまうのは、とても危険ということ
ちなみに、メソッド名を考えるのが面倒だったので
_getXxxxx としたら、これもダメだったみたい
全然ちがう名前を付けなければダメ
ようやくわかった!!!
swift で CoreData を使っていた
元々は ObjectiveC で書かれていたものを swift に書き直していたのだが
なぜか CoreData で relationship しているプロパティに代入をする部分で
NSInvalidArgumentException reason: [NSSet intersectsSet:]: set argument is not an NSSet
というエラーが発生していたのだった
原因は、自分で作成したメソッド名にあった
プロパティが members だとして
members にアクセスすると [Member]として取得できないので
func getMembers() -> [Member]
というメソッドを作成して、それを使っていたのだった
どうも、swift では getXxxxx というアクセッサが生成されているのか、
members にアクセスしたときに、getMembers() が呼ばれてしまい
そのために members が NSSet としてアクセスできなくなったためのようだ
という訳で、プロパティ名に get なんちゃら というようなメソッドを
無意識に使ってしまうのは、とても危険ということ
ちなみに、メソッド名を考えるのが面倒だったので
_getXxxxx としたら、これもダメだったみたい
全然ちがう名前を付けなければダメ
VCL XE7
LiveBindings で CustomFormat を設定しても
一向に反映されない
いや、デザインモードでは見えるのだが
実行してみると反映されていない
LiveBindings のバグなのかと思って、色々と試してみた
全然わからない
結局、フレームのせいだった
フレームで、grid と PrototypeBindSource を設定して
そのフレームをフォームに張り付けていたのだが
どうもメインのフォームに張り付けたフレームで
IfThen などのCustomFormat が削除されてしまうのだ
何度やってもダメ
Bind 関係の uses が足りないせいか?と思って
色々追加するが結局ムダ
張り付けて一回目のコンパイルはOKなのに
その後、すでにデザインモードで動作しなくなっている!!
そして再度コンパイルすると当然ダメ!
これひどい
LiveBindings で CustomFormat を設定しても
一向に反映されない
いや、デザインモードでは見えるのだが
実行してみると反映されていない
LiveBindings のバグなのかと思って、色々と試してみた
全然わからない
結局、フレームのせいだった
フレームで、grid と PrototypeBindSource を設定して
そのフレームをフォームに張り付けていたのだが
どうもメインのフォームに張り付けたフレームで
IfThen などのCustomFormat が削除されてしまうのだ
何度やってもダメ
Bind 関係の uses が足りないせいか?と思って
色々追加するが結局ムダ
張り付けて一回目のコンパイルはOKなのに
その後、すでにデザインモードで動作しなくなっている!!
そして再度コンパイルすると当然ダメ!
これひどい