2021/03/06・お知らせ
この度、私が開発するAndroidアプリ「提出物マネージャー」の暗記カード テキスト認識機能の利用規約に、明らかに誤った事項が記載されていることを確認しました。訂正すると共にお詫び申し上げます。
訂正箇所
暗記カード テキスト認識機能の利用規約の第4項に以下のような記載があります。
この機能は、クラウドから引っぱってきたモデルを利用してテキストを検出していますので、画像がそのままGoogleに送信される訳ではありません。
この文章を以下のように訂正します。
この機能では、画像をGoogleに送信することで、クラウド上でテキストを認識し、結果を取得して反映しています。この画像はGoogleのディスクには保存されず(メモリ内で処理され)、処理が完了後即座に削除されます。詳しくは以下のページをご参照ください。
https://cloud.google.com/vision/docs/data-usage?hl=ja
以上
2020/05/29・動画ウラ話
/i/https://www.youtube.com/embed/6SF0xmBa2EM
裏話
そんなにGTX1650って貧弱?
1060に近い性能出るし、これで大半の人には必要十分なんじゃないかって思うんですが。
さて、話は変わってバックパネル。かなり苦戦した。晩御飯跨いでめっちゃ試行錯誤してた。あとは、クーラーのネジ止めも地味に苦戦した。ほかはまあ全部動画で言ったかな
やっぱり自作PCの組みたってって割と簡単なんですね
2020/05/31・動画ウラ話
/i/https://www.youtube.com/embed/kYTNw7FthOg
URABANASHI
今回は、このPCを5ヶ月使ってみた感想を述べていきます。
性能面
全く不便はないです。なんてったって、8C16Tもありますからね・・・最新のソフトなら大抵はモッサリしないです。
そう、最新のソフトなら。
AviUtlなど、ひと世代前のソフトは、CPUを効率良く使えるようにできていないので、超絶動作がモッサリします。むしろ前(i5-2520M)より酷くなったような気すらします。ゆっくりMovieMaker4がAviUtlの代替と言えるようになることにかなり期待しています。
また、前はWindows上でmacOSが動いたんですが、AMDにしたせいなのか動かなくなりました。少し痛い。
PCケース
かなり良いケースだったんですが、2点不満があります。
まず、バックパネルをはめる場所がわかりにくい。動画でも言いましたが、少し沈み込む形になるなんて思わなかった。
そして、電源ボタンが沈み込む。これ、ボタンを押しても返ってきた感触がないことがあって、ずっと押されっぱなしになって強制電源切とかにならないかヒヤヒヤします。全体的に癖が強く、品質は普通くらいなケースでした。
グラフィックボード
特に不満はないです。大多数の3Dゲームがサクサク動きます。目安としては、DBDのUltra設定でちょっと60fps切ってくるくらい。
電源ユニット
3939円という破格だった割に特におかしな動作はない電源でした。異音がするとかファンがうるさいとか突然切れるとか(そこまでいくと故障か)はなく、快適です。ちょっと650Wは大きすぎたかも
ちなみに3年保証ついてます。本当にあの投げ売りはなんだったんだ・・・
マザーボード
LED制御の調子が悪いです。しばらく光り方を「ダーク」にしておくと、CMOSクリアをしない限り制御ソフトに認識されなくなります。全く光らなくなります。
総評
いい買い物をした。
2020/04/19・動画ウラ話
/i/https://www.youtube.com/embed/rfzuXteTa5U
ウラ話
実際、「超」高性能かどうかは微妙だったかもしれません。コメントでは「GTX1650は微妙」「GTX1650は心許ない」言われまくったので。「え、今でも十分満足してるんだけど、視聴者はどれだけ上を目指してるんだ・・・?」とか思いました。。。
正直、ARKとかいう非最適化クソ重量級ゲームをしない限りは、GTX1650でも十分遊べると思うんですけどねぇ、どうなんでしょう
それはそうと、やっぱり開封の儀ってワクワクしますよね。この一言に尽きる
さて、ここからはパーツ選びの決め手を話していきます。まずはCPUですが、元々値段的にもRyzen 5がいいなとは思っていましたが、ここのところ2万円を切ってきて高校生でも手が届きやすくなりました。それに加えて、私はAndroidアプリを作っているので結構マシンパワーがいるんです。5ではちょっと厳しいかなと思って7にしました。8コア16スレッドもありますからね
次はケース。最初はThermaltakeのT37という、パネルが横から上まで1枚になっているものを買おうと思っていたのですが、購入地点で1万円を超えてしまいまして、これはないわと思い候補から除外。
そして、せ◯りんねさんの動画などで白ケースが流行っていることを知り、視聴回数を稼ごうという思惑も込めて白ケースであるこれをチョイス。価格も8千円台とまあまあという感じ。
以上、今回のウラ話でした。
2020/04/16・動画ウラ話
/i/https://www.youtube.com/embed/RB4EoXHnbwI
ウラ話
ウラ話を片付けようの会第3回です。今名前決めました。
ウラ話もなにも、動画でだいたい全部言っちゃいましたので、何を書こうか。
実は、PCの部品のうちメモリだけは、使いもしないのに7月頃に既に買っていました。その頃、メモリの値段が急激に下がってきたときで、これ以上下がらないだろうというタイミングを見計らって先に買っておきました。結局、値段は大体横ばいでした。うーん、なんとも言えない。
サムネイルにも写っていますが、スマホでの撮影用にマンフロットのスマホ用のアタッチメントをPCパーツと一緒に買いました。スマホってカメラと違ってZ Flipとかいう変態機種でない限り立たないので、撮影時の置き場所に困ります。三脚は最初から家にあったので、アタッチメントさえあればスマホで撮影できます。
なぜスマホで撮るのかというと、過去の実写動画を見てもらえばわかると思いますが、持っているビデオカメラの画質が絶望的で、色味も変だしノイズ入るしで使い物になりませんでした。自分でもこの画質で投稿している動画は見たくはないですもの。カメラ単体よりもスマホカメラの方が高画質で撮れる時代になったようですね。
2021/04/25・Androidアプリ
皆さん、こんにちは。
今回は、Androidにおいて「位置情報権限」について解説します。コイツはかなり曲者で、Android自体が誤解を招く表現をしているが故、多くの方が誤解していると思います。
今回はAndroidにおいて位置情報権限が必要なケースをお伝えします。
位置情報権限を許可するとできること
まず、位置情報権限を許可すると何ができるのかを列挙します。
GPSによる位置情報の取得
Wi-Fiスキャンによる位置情報の取得
Bluetoothスキャンによる位置情報の取得
付近のWi-Fiのスキャン
付近のBluetooth端末のスキャン
これらが「位置情報の許可」をされたアプリができるようになることです。一番上は当たり前として、意味不明なのが赤字の下4つではないでしょうか。
「Wi-Fiをスキャンして位置情報が分かるの?」
分かるんです。実は、BluetoothやWi-Fiをスキャンすることで、現在地が超大まかに分かってしまいます。
Wi-FiやBluetoothのアクセスポイントには現在地情報が埋め込まれていることがあり、それをスキャンすることでそのWi-Fiに接続せずとも、今何県にいるか程度は分かります。(誤差半径3kmくらい)
つまり、Wi-FiやBluetoothのスキャンをすれば位置情報も分かるよね?ってことでスキャンを行うアプリはもれなく位置情報の許可が必要になります。
位置情報を使わないのに位置情報権限の許可が必要な例
ということはですよ、位置情報をアプリで利用しないにもかかわらず位置情報の許可が必要になる例があるというわけです。Wi-FiやBluetoothのスキャンだけをする場合です。
例えば、I-O DATAからリリースされている「Wi-Fiミレル」というアプリ。これはWi-Fiの情報表示アプリで、付近のWi-Fiの混雑状況をチェックする機能も付いているため、位置情報権限がないと付近のWi-Fiをスキャンできず、利用できません。
また、ヤマハのホームシアターの制御アプリ。これは付近のBluetoothをスキャンして自動的にホームシアターに接続するため、位置情報権限が必要です。
いずれのアプリにもレビューには「位置情報権限がないと起動せず怖い」などと書かれていることがありますが、その理由はこのようなことなのです。
まとめ
上のようなアプリでは、位置情報権限を要求するからと言って位置情報を使うとは限りません。しかし、この権限を許可してしまえばGPSでの位置情報の取得も可能になります。「なら位置情報を切ってしまおう」と思うかもしれませんが、これはWi-FiやBluetoothのスキャンも無効化されるため、そのアプリの機能が使えなくなります。
Wi-Fiなどのスキャンを行うアプリが位置情報を使っているかは知るすべがありません。このようなアプリを使いたい場合、位置情報の収集をしていないと信じて使うしかありません。このようなことは普通プライバシーポリシーに記載されているはずです。
ただ、Googleのような情報を商品としている企業ならともかく、上のような利用者の少ない野良アプリが位置情報を収集するメリットってほぼないと思います。(Googleは、野良アプリが可能な範疇など比ではないほどエグい位置情報収集を行っています。)
以上、Androidアプリコラム第3回でした。
2020/04/12・Androidアプリ
皆さん、権限許可してますか?
今回は、備忘録も兼ねてAndroid 6.0以降で権限許可させるときのちゃんとした実装を紹介します。
まず、今回の実装はこんな感じです。
許可ダイアログを出して許可された場合
許可ダイアログを出して許可されなかった場合
「今後表示しない」設定にされた場合
この3つで分岐させます。
ソースコード
override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == REQUEST_CODE) {
if (grantResults.all { it == PERMISSION_GRANTED }) {
// 許可された
} else {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, 権限)) {
// 許可されなかった
} else {
// 「今後表示しない」にチェックを入れられた
}
}
}
}
shouldShowRequestPermissionRationale()メソッドは、本来「今後表示しない」をチェックするメソッドではないので、直接「今後表示しない」にチェックが入ったかを返すわけではありません。実際は以下のように値を返します。
表示回数0回→false
表示回数1回以降→true
表示回数2回以降、「今後表示しない」にチェックが入った場合→false
そのため、onRequestPermissionsResult()にこのメソッドを置くことで、まだ1回も表示していない場合のfalseを回避できます。こういう仕組みで判別しています。
つまりは、権限が許可されていない場合は問答無用でrequestPermission()を呼びます。そうすると、「今後表示しない」にチェックが入っていた場合でもonRequestPermissionResultメソッドで拒否されたものとして結果が返ってきます。
2020/10/12追記:Android 11以降の仕様について
Androd 11以降では、2回目に「許可しない」をタップした場合は問答無用で「今後表示しない」にチェックを入れたものとして扱われ、3回目以降は表示されなくなります。(だからといってロジックを変更させる必要は特にありません。)
2019/10/05・Androidアプリ
今回は、Android Studioの起動時に表示されるTipに書いてある便利なキーをまとめてみました。ほぼ自分用ですが。
※随時更新
キーTipをそのままGoogle翻訳で翻訳 / 簡易的な説明Ctrl + Alt + 8プログラムのデバッグ中に式の値を簡単に評価するには、エディターでそのテキストを選択し(Ctrl + Wを数回押してこの操作を効率的に実行できます)、Alt + Shift + 8を押します。Alt(LinuxではControl + Alt + Shift)プログラムのデバッグ中に式の値をすばやく評価するには、Alt(LinuxではControl + Alt + Shift)を押しながらこの式をクリックして値を確認し、計算し、メソッドを呼び出します。Ctrl + Space基本的な補完(Ctrl +スペース)を使用して、さまざまな種類のファイルのテキスト内の単語やコメントを完成させます。入力したプレフィックスで始まる現在のファイルのすべての単語がルックアップリストに表示されます。Ctrl + Shift + クリックマルチカーソルCtrl + Pカーソルを括弧内に入れてCtrl + Pで引数の再表示(地味に便利)Ctrl + Qキャレットでクラスまたはメソッドのドキュメントをすばやく表示するには、Ctrl + Q(表示|クイックドキュメント)を押します。Ctrl + BまたはCtrl + クリックコードのどこかで使用されているクラス、メソッド、または変数の宣言に移動するには、キャレットを使用箇所に置き、Ctrl + B(ナビゲート|宣言)を押します。 Ctrlキーを押しながら使用法でマウスをクリックして、宣言にジャンプすることもできます。Ctrl + F12Ctrl + F12(ナビゲート|ファイル構造)を使用して、現在編集中のファイルをすばやくナビゲートできます。現在のクラスのメンバーのリストが表示されます。ナビゲートする要素を選択し、EnterキーまたはF4キーを押します。リスト内のアイテムを簡単に見つけるには、名前の入力を開始します。Ctrl + O / Ctrl + ICtrl + O(コード|メソッドのオーバーライド)を押すと、基本クラスのメソッドを簡単にオーバーライドできます。現在のクラスが実装する(または抽象基本クラスの)インターフェイスのメソッドを実装するには、Ctrl + I(コード|メソッドの実装)を使用します。Ctrl+Shift+スペースSmartTypeコード補完は、式全体の予想される型を分析することにより、現在のコンテキストに適したメソッドと変数を見つけるのに非常に役立ちます。そうすると、Android Studioは最も適切な上位5つの結果を特定し、青色の背景でそれらを強調表示します。Tabコード補完を使用する場合、Tabキーを使用してポップアップリストで現在強調表示されている選択を受け入れることができます。 Enterキーで受け入れるのとは異なり、選択した名前はキャレットの右側にある残りの名前を上書きします。これは、あるメソッドまたは変数名を別のメソッドまたは変数名で置き換える場合に特に役立ちます。Ctrl + ECtrl + E(表示|最近のファイル)は、最近アクセスしたファイルのポップアップリストを表示します。目的のファイルを選択し、Enterキーを押して開きます。Ctrl+Qカーソルが乗っているメソッドなどのドキュメンテーションの表示
※キーマップ発見しました。
2020/08/22・お知らせ
この度、当方が運営するWebサイト「chikach.net -Light-」(旧chikach.net)を完全に閉鎖することといたしました。理由については、現在ほぼ完全に運用を当サイトに移行したため、存在意義が薄れてきた、ということとなります。
ちなみに、旧chikach.netの運営に費用は端金(月4円とか)しかかかっていないので、気持ちの問題というか、一本化したいという思いで閉鎖に踏み切りました。
これから移行作業を開始し、完了次第旧サイトは当サイトにリダイレクトされるよう設定します。
以上
2020/07/23・お知らせ
LinuxでChromeリモートデスクトップをいつもどおりの動作に直すシェルスクリプト
を作りました。要するに、LinuxではChromeリモートデスクトップを利用すると、デフォルトで新しく別のワークスペースが生成されてしまい、PC本体で見えている画面とは別の画面になってしまいます。それでは、たとえば出先で自宅のPCにアクセスして作業の続きをする・・・なんてことができなくなってしまう(私は単純にPCのある2階へ行くのが面倒だから使ってたりする)ので、それを修正できます。
※Chrome リモートデスクトップのインストール済みが前提です。
修正方法
①シェルスクリプトをダウンロード
:::btn
ダウンロード
:::
②シェルスクリプトを実行する
ターミナルをダウンロードしたファイルがあるフォルダーで開き、以下のコマンドを実行
chmod 777 ./chrome-remote-desktop-modifier-2.0.sh
./chrome-remote-desktop-modifier-2.0.sh
途中でパスワードが要求されることがあるので、入力してください。
以上。