カテゴリーアーカイブ OS

takahashi 著者:takahashi

続 Windowsのスタートメニューのアプリタイルのアイコンが消失したときの対策

以前、こちらの記事でWindows10のスタートメニューにあるタイル画面から、アプリの画像が消えてしまった件について書きましたが、ここ最近、また再発しました。

スクリーンショットを撮り忘れてしまったのですが、今回は前回よりもさらに多くのアプリのアイコンが表示されないくなってしまい、さすがにひとつづつピン止めしなおすのは手間だったので根本的な解決策を探し回ったところついに発見。

Windows 10 Fall Creators Update をインストールした後にアプリケーションが見つかりません【Ver1709】- Microsoftコミュニティ

おおっ、まさに今自分のPCで起きている状況に限りなく近い…!

これは期待できそう、ということで早速試してみました。

やり方は、Powershellを管理者権限で開き、下記のコマンドを順に実行していきます。

reg delete “HKCU\Software\Microsoft\Windows NT\CurrentVersion\TileDataModel\Migration\TileStore” /va /f

get-appxpackage -packageType bundle |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + "\appxmetadata\appxbundlemanifest.xml")}

$bundlefamilies = (get-appxpackage -packagetype Bundle).packagefamilyname

get-appxpackage -packagetype main |? {-not ($bundlefamilies -contains $_.packagefamilyname)} |% {add-appxpackage -register -disabledevelopmentmode ($_.installlocation + "\appxmanifest.xml")}

結果はどうかというと…

うおおおおおお治ってる!!!

コマンドだけで、一発で綺麗に治りました!

治す方法は分かりましたが、再発させないための解決策はまだ不明なまま。

先程のコミュニティの投稿では、MS側で原因を現在調査中とのことでしたが、はやく修正されることを願います(∩´﹏`∩)

  • この記事いいね! (4)
村上 著者:村上

【Xcode】アプリのメモリ使用量を調べる方法

業務内でアプリを修正中、実機で動作確認をしているアプリが頻繁に落ちる現象に遭遇しました。
エラー文はこちら。

CoreAnimation: failed to allocate 183072 bytes

バイト数もほぼこの値でした。

こちらの原因ですが、書いてあるとおり、メモリの割り当てに失敗しているとのこと。
で、対処法を調べたところ、こちらの投稿がヒットしました。

ios – Core animation failed to allocate bytes though NOT using Core Plot – Stack Overflow
https://stackoverflow.com/questions/19403295/core-animation-failed-to-allocate-bytes-though-not-using-core-plot

こちらのページに投稿された対処法によると、「おそらくあなたはアプリ内の他の場所で多すぎるメモリ使用量を使用している可能性があります。コアアニメーションは最初に割り振りに失敗しています(特に大きな割り当てであるため)。」とのことでした。

 

ということで、メモリ使用量を調べようとしているのですが、どうやらXcodeにはメモリ使用量を調べられるDeveloper Toolsがあるとのこと。
それについて書かれているサイトはこちらから確認できます。

Instrumentsを使ってみた – Qiita
https://qiita.com/nohirap/items/39ed06c550b6b5c1f247

こちらを参考に、とりあえず起動してみました。

まず、Xcodeのメニューから、Open Developer Tools を選択し、そこから Instruments をクリックします。

Instruments を選択すると、下記のようなウィンドウが表示されるため、ログを取りたい項目を選択します。

私は Core Animation を選択しました。

そうすると、下のようなウィンドウが表示されるため、左上の録画ボタンのような赤丸アイコンをクリックします。

すると、何かしらの情報が黙々と記録されていきます。
こんな感じで、具体的にメモリ使用量を調査します。

 

以上、Xcodeでメモリ使用量を調べる方法でした。
が、私はまだこのデータの見方がわからない…!
頑張って調べたいと思います…。

  • この記事いいね! (1)
takahashi 著者:takahashi

INGRESSと伊藤園がコラボした”売らない自販機”XMProfilerで遊んでみた!

前から伊藤園は位置情報ゲームのINGRESSとのコラボレーション企画にかなり力をいれていますが、勢いのあまり、”状態が可視化されて確認できるポータル”マシンを作ってしまっています。
“XMProfiler”っていうんだけど…

ITOEN × INGRESS XM-Profiler – 面白法人カヤック
面白法人カヤックさんが作られていたんですね…!
知りませんでしたw

このXMProfiler、全国に3台(今度4台目が設置されるらしい?)しかなく、しかも首都圏に集中しているのでなかなか見る機会はなかったのですが、今回はそのうちの一台、XM Profiler OSAKA を先日たまたま機会があって実物を見ることができました!

思ってたよりも質感が凄い…
上部画面はエリアランキングやインストール済みMODなどのXMProfilerに内蔵(?)されているポータルの情報などが表示されています。


そして下部にはポータル本体とそこに刺さっているレゾネーターとその所有者の情報が。
自分のレゾネーターが刺さっているのを見ると、普段以上にしてやったぜ感が倍増しますw


現地でスクショを取り損ねてしまったので、代替えのスクショで申し訳ないですが、XMPでこうやって攻撃した際やレゾネータ等を破壊したときに、連動してXMProfilerから被攻撃音が鳴ります。普通のポータルを攻撃したときに比べて結構臨場感がありました。
これは面白いですw

単純に位置情報単体で考えるとナビのような便利ツールに流れがちですが、工夫次第でこんな面白いことができるんだなぁと考えると、ちょっと刺激になりますよね。

ちなみに…


XMProfilerはmacOSで動いているようです…w

組み込み機器でmacを使用するってなかなか珍しい気がします。
いろいろな意味でレアなXMProfilerでした。

  • この記事いいね! (1)
村上 著者:村上

【Xcode】ビルド時の「[プロジェクト名] has conflicting provisioning settings.」エラーの対処法 その2

Xcodeで証明書を設定した際のエラーの対処法について、以前紹介した方法では解決しなかったので、その2の対処法をまとめました。
ちなみに、以前の記事はこちらから。

【Xcode】ビルド時の「[プロジェクト名] has conflicting provisioning settings.」エラーの対処法
https://cpoint-lab.co.jp/article/201805/【xcode】ビルド時の「プロジェクト名-has-conflicting-provisioning-settings-」エ

 

今回参考にさせていただいたサイトはこちらから。
iOSアプリをリリースする際のプロビジョニングの設定
http://chinotsubo.com/ios-provisioning-config/

で、対処法ですが、アプリの Build SettingsCode Signing Identity に設定されている項目を、下記のように変更するだけです。

なお、記事の投稿者いわく、「イマイチなぜこの設定が正しいのかは理解していない」とのこと。
ちなみに、こちらの記事の下には参考にした記事のリンクもあるので、気になる方はぜひ御覧ください。

 

以上、Xcodeの証明書の設定方法その2でした。
前ご紹介した方法でビルドができなかった方は、この方法もお試しください。
なお、私の環境では、実機を接続してのビルド時に失敗するようでした。
…実機の接続・未接続で、設定等が違う箇所があるんでしょうね。

  • この記事いいね! (0)
村上 著者:村上

【Android】アプリの画面を縦方向で固定する方法

久しぶりのAndroidネタです。
今回は、端末が横向きになった場合でも、アプリの画面を縦方向に固定する方法について。

 

今回は、こちらのサイトを参考にさせていただきました。

Android縦画面固定 – Qiita
https://qiita.com/yasumodev/items/44f7fd84a58b709a0349

実装方法ですが、2つ方法があり、私が実装したのが、AndroidManifest.xml で指定する方法です。
縦方向で固定したいページのアクティビティに対して、下記を指定します。

android:screenOrientation="portrait"

具体的には、下記のようになります。

<activity
    android:name=".Main.MainActivity"
    android:screenOrientation="portrait"
    android:label="@string/app_name"/>

3行目に、縦方向で固定する指定を追加しています。

なお、横固定にしたい場合は、値を「portrait」から「landscape」に変更します。

 

次に、Activity で指定する方法ですが、こちらは onCreate の中に下記を記入します。

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

こちらの方法で横方向で固定したい場合は、引数に ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE を指定します。

 

以上、アプリの画面の向きを固定する方法でした。
iOS だと、チェックボックスの ON/OFF だけで済むので、Android は少しだけ面倒ですね。
また、アクティビティごとでの指定なので、常に縦固定の場合は、すべてのアクティビティに縦固定の指定をしなければ習いので、指定抜けにご注意ください。

  • この記事いいね! (0)
村上 著者:村上

【MySQL】テーブルのデータをコピーして別のテーブルに挿入する方法

今回も、昨日に引き続き MySQL について。
タイトルにある通り、テーブルのデータをコピーして別のテーブルにデータを挿入する方法です。
使用頻度はあまり高くないかな?

 

今回参考にさせていただいたサイトはこちらから。

表をSELECTして別の表へINSERTする(INSERT ~ SELECT)- SQL Server – Priject Group
https://www.projectgroup.info/tips/SQLServer/SQL/SQL000004.html

なお参考として、記事の下の方に、同じことを Oracle Database で行う方法が書かれたページへのリンクもあります。

で、SQL文はこちら。

INSERT INTO [データ挿入先テーブル名] SELECT * FROM [コピー元テーブル名];

こちらは全カラム&全件をコピーする方法です。
もちろん、SELECT に WHERE をしてして、任意の条件に一致するデータのみを挿入することもできます。
なお、このSQL文はコピー元テーブルとコピー先テーブルの構造が一致していないと失敗するので、注意が必要です。

ですが、下記のように取得するカラムも指定すれば、定義の異なるテーブルにも挿入できます。

INSERT INTO [コピー先テーブル]([カラム1], [カラム2]) SELECT [カラム1], [カラム2] FROM [コピー元テーブル];

なお、カラムを指定するときは、順番にも気を付けてください。

 

以上、テーブルのデータをコピーして、別のテーブルに挿入する方法でした。
INSERT と SELECT が同時に使用されているので、一見難しそうに見えますが、落ち着いてみてみればかなり簡単ですね。
なお、実際に実行する機会があるかどうかは別として、同じテーブルにコピーしたデータを挿入することもできたので、テストデータとかを量産したいときとかに便利そうですね。

  • この記事いいね! (0)
takahashi 著者:takahashi

[Windows]コマンド上でサービスを操作する方法

LinuxなどのUnixライクなOSには”デーモン”と呼ばれる概念があります。
ユーザーが起動しなくてもOSの裏側で常に動作し、いろいろなことをしてくれる所謂”常駐アプリ”です。

一方、Windowsにも同様の仕組みがありますが、こちらは”サービス”と呼ばれます。
基本的に、内容はデーモンとさほど変わりません。

デーモンを操作する場合、例えばLinux系では

#サービスの停止(Systemd)
systemctl stop サービス名

#サービスの開始(Systemd)
systemctl start サービス名

#サービスの停止(sysvinit)
service サービス名 stop

#サービスの開始(sysvinit)
service サービス名 start

etc...

というように、コマンドで操作します。
また、サービスを自動開始させるかどうかは

#サービスの自動開始有効化/無効化(Systemd)
systemctl enable サービス名
systemctl disable サービス名

#サービスの自動開始有効化/無効化(sysvinit)
chkconfig サービス名 on
chkconfig サービス名 off

のようにします。

一方Windowsのサービスの場合は、Windows自体がGUIありきのOSなので、サービスの操作も、標準でGUIから行うことができます。


“サービス”アプリの画面

サービスの自動起動の有効/無効もGUI上から指定できます。

しかし、Windowsでも、処理のバッチ化などをするためにコマンドライン上から操作をしたい場面があります。
GUIの自動操作はなかなかやりづらいので、CUI上で操作できる方法を探したところ、見つけることができました。

バッチ で Windowsサービス を 起動、終了 する 方法 – galife

Windows上のコマンドラインででサービスを操作する場合は、

#サービスの停止
net stop サービス名

#サービスの開始
net start サービス名

これだけでいけます。
操作感はUnixライクなOSに結構似ていますね。

ちなみに、ちょっとわかりづらいですが、サービスの自動機能のon offは”sc”コマンドを使うことで操作できるようです。

sc.exe でサービスのスタートアップの種類を変更するAdd Star – 日々是笑心

WindowsのCUI環境はちょっと特殊で、難解感も感じることがありそうですが、覚えておくと非常に楽になるかもしれませんね。

  • この記事いいね! (0)
takahashi 著者:takahashi

Windows 10に標準で付属しているMRツール “Mixed Reality ビューアー”がさらにパワーアップ。なんとアニメーションもとれるように。

知らないなんて勿体ない!!! 手軽にリアルなARを楽しめる Windows標準搭載のARアプリが面白い!

以前こちらの記事でご紹介したWindows標準ツール”Mixed Reality 3D”ですが、久々に開いてみたらさらにパワーアップしていました!!!

なんと3Dキャラクタにアニメーションがついて、さらにカメラで撮影した景色の中を自由に動かせるようになっていました!!!

また、左下にはアニメーション切り替えボタンがあり、オブジェクトによってアニメーションの種類の数は異なりますが、いろいろなモーションをキャラクターにさせることができます。

Mixed Realityモードでは、PCにカメラが備わっていれば実際に現実世界の映像と合成することができます。

これらのモーションをうまく使って、迫力のある映像を作ることが可能です。
ちなみに解像度もちゃんとカメラと同じ粗さに合わせてくれるので、違和感のない映像を撮影することができます。

折角OSに標準搭載されていますし、手軽にMRに触れることができる素敵な機能なので、是非遊んでみてはいかがでしょうか?

  • この記事いいね! (0)
takahashi 著者:takahashi

MBaaSのFirebase、脆弱性により情報流出が発覚

Googleが提供しているサービスであるFirebaseから、なんと合計1億件以上の情報流出(Gigazine)が確認されたようです。

合計1億件以上の個人情報がFirebaseの脆弱性によって公開状態に – Gigazine

Firebaseはモバイルアプリのバックエンドに必要な機能(ログイン管理やプッシュ通知など)を一括して提供してくれるmBaaS(mobile Backend as a Service)です。

Firebaseの始め方 – Qiita

Firebaseを使うことで、本来自前でサーバーを用意してアプリのバックエンドを構築しなければいけないところを、Firebaseで対応している機能であればすべてこのサービス上で賄える、というサービスのようです。(恥ずかしながら知りませんでした。)

Gigazineの記事によると、Firebaseとの連携処理がちゃんと行われていないアプリが原因だったとのことです。

この脆弱性はFirebaseデータベースの認証が適切に行われていないときに顕在化するもの。2017年第2四半期に見つかった、アプリ開発者によるデータ格納の保護が不完全なときに情報が露出してしまう「HospitalGown」と呼ばれる脆弱性の変種であると考えられています。

Appthorityのディレクターであるセス・ハーディ氏は「このFirebaseの脆弱性は膨大な量の機密情報を公開してしまうような重大かつ危機的なものです。多くの『脆弱なアプリ』があり、多種多様なデータが公開されてしまっているという事実は、企業がアプリの開発者に頼れず、アプリストアによるチェックや単純な『マルウェアスキャン』でも対策できないということを示します。GDPRやHIPAA、PCIといったデータ保護の規則を守るために、今後はこの種の脆弱性を見つけられるよう、深いアプリ分析に投資する必要があるでしょう」と述べています。

Firebaseのサービスを利用していなければ影響を受けなかったインシデントなので、個人的には”パブリッククラウドの危ない面”が露呈してしまったのかな、という印象です。

対策がされているとはいえ、複数のユーザーで共有している環境である以上、使用する際はこういった危険性も考えて置く必要がありそうですね。

  • この記事いいね! (0)
村上 著者:村上

【Windows】Word保存時に「ディスクの空き容量が不足しているため保存できません」エラー

ちなみに未解決です。

Wordを編集・保存した時に遭遇したエラーで「ディスクの空き容量が不足しているため保存できません」とのこと。
ほかにももう1つファイルを開いていて、そちらは問題なかったのになぜこのファイルだけ…?

検索時にヒットしたページはこちら。

Word で文書を保存するとエラー メッセージが表示される、またはプログラムが応答を停止する
https://support.microsoft.com/ja-jp/help/813997/you-receive-an-error-message-or-the-program-stops-responding-when-you

ですが、結局それらしい解決策は見つけられませんでした。

なお、サイトに掲載されていた解決方法・回避策はこちら。

この問題を解決するには、ディスク ドライブの増設やディスク圧縮ユーティリティの使用により、ディスクの空き領域を増やします。

注: ウイルス対策ソフトウェアが実行中の場合は、それを無効にしてみてください。 これで問題が解決される場合は、ウイルス対策ソフトウェアの製造元に更新プログラムまたは回避策についてお問い合わせください。

・不要なプログラムを終了することによってディスク領域をある程度回復できる場合があります。
他のプログラムを終了してから Windows がページング ファイルのサイズを変更するまでに数分かかることがあります。
・必要のないファイルを削除してディスクの空き領域を増やします。
たとえば、ディスク クリーンアップを実行します。 これを行うには、次の手順を実行します。

 

で、結局一度ファイルを保存せず閉じて、再度開いて修正・保存をしたところ、何事もなかったかのように保存が完了しました。
…謎です。
ということで、原因はさっぱりわかりませんでしたが、なるべくファイルは一度にたくさん開かずに、必要最小限にしようとは思います。

  • この記事いいね! (0)