Translate

BTemplates.com

Powered by Blogger.

2019年1月29日火曜日

タスクバーの音量調節アイコンがクリックしても反応しない時でも音量調節をする方法


Windows + R → sndvolを入力して実行

これで別の音量調節のウィンドウが立ち上がるので、それで調節する。

◆他の対処法1
タスクバーの日付の部分を右クリックして
タスクバーの設定から通知領域のタスクバーに表示するアイコンを選択しますをクリック
音量の部分を一度オフにしてオンにすると元に戻ることがあるらしいが前回は戻らなかった。

◆他の対処法2
再起動して戻るときもあるらしいが、前回試したときはそうならなかった。

2019年1月28日月曜日

2019-01-19、20、24、26、28 到達点メモ


AtCoderで、B-1 21の問題(コンテストが終了した問題)に関するRubyで解いた
ネタバレがあるので嫌な人は見ないようにしてください。


git logをコマンドプロンプトで使っていたら、日本語が文字化けしていた。
正直なところ、恒久的な対処方法が分からなかったので
git bashを使うことにした。
これなら文字化けしない。

参考サイト:Windowsでgit log見た時日本語が<E6><97>~みたいに化けた時の対処方法
参考サイト:git log、git diff、git showでの日本語の文字化けをまとめて対策

というか、コミットはVisualStudioCodeを使えば割とどうでもなることが良く分かった。
ついで話をもう一つするとshift-jsで開くと文字化けするので、utf8で保存しよう。

正規表現について

以下のような文字列があったとする

Word Adobe PhotoShop (フォトショップ)

これを以下のようにしたい
Word,Adobe PhotoShop (フォトショップ)

その場合は以下のようにすればよい(EmEditorの場合)

検索(分かりにくいが、一番最初の方に半角スペースが入っている)
『 ([^(|^P])』

置換
『,\1』

()でくくったところは置換時に変更しないという意味で
^は否定の意味
[]は[]の中の任意の文字。複数の文字とかを使いたい時に使う?

参考サイト:正規表現
参考サイト:正規表現:文字列を「含まない」否定の表現まとめ
参考サイト:文字列の一部だけを変更したい
参考サイト:特定の文字列を含まないという正規表現


ruby(AtCoderで、B-1 21の問題(コンテストが終了した問題)に関するネタバレ注意)

AtCoderで、B-1 21の問題(コンテストが終了した問題)を解いた際にコードのバイト数が少ない回答を見たのだがその回答に感動しました。
平方数はそうやってもとめるのかと

puts number==(number**0.5).to_i**2 ? :Yes : :No

他の言語はわかりませんが、rubyだと小数の階乗ができるので
そこをInt型に変えて小数を落として、更に二乗すれば
元々平方数が出せる値なら一致するので
大体どの値でも出せて便利だなと思いました。

200.to_s.split("")の処理よりは、200.to_s.charsの処理の方が軽い

あと、よくあるa>bのときは、aが大きい、a=bの時は等しい、a<bの時はbが大きい
とやりたい場合は、以下のような方法もある

judgment = ["等しい","aが大きい","bが大きい"]
puts judgment[a<=>b]

見やすいかどうかはともかくとして、圧縮したい場合は便利。

x |= yを見つけたのでなんじゃこりゃ?
と思って調べてみたらどうやらビット単位のOR代入の省略形らしい。
x=x|y
で、何に使うかというと配列で一意の合成をやりたい場合に便利なんだそうだ。

例えば、以下のようなコードを書いたとする
x = [1,2,3,4,9]
y = [3,4,5]
x |= y
puts x.to_s
x2 = ["aa","bb","abb"]
y2 = ["a","bb","ccc"]
x2 |= y2
puts x2.to_s

結果は以下のようになる
[1, 2, 3, 4, 9, 5]
["aa", "bb", "abb", "a", "ccc"]

uniqの処理って重そうだったし
一々合成するならこれの方が処理が速そう?
きちんと計っていないので何とも言えないが。

参考サイト:Ruby |= assignment operator

2019年1月17日木曜日

2019-01-04、07、08 、17 到達点メモ


あけおめ。ことよろ(激遅)

Kotlinの話
やってないと、基本的な操作を度忘れする
.toInt()で型変換ができる

参考サイト:kotlinの型と変換

ミリ秒の計算をしたいときはCalendarクラスを使わずに
dateクラスで計算したほうがいいらしい。
Calendarクラスの生成はコストがかかるとの事
なお、引き算をしたい場合はtime型に直す必要がある

参考サイト:DateのgetTime(公式ドキュメント)
参考サイト:時分秒の加算/減算にCalendarクラスを使うのはもったいない?


・・・というかちょっと待て。
別にdate型に直す必要すらないような・・・。
System.currentTimeMillis()でミリ秒を取得しているから
これを毎回使いまわせばよいのでは???

うん。必要なかった。
メモとして残しておくが
System.currentTimeMillis()はlong型

xxdpi=420dpi

文字の調整をしているのだがマジ面倒くさい!!!
正直、今度作る時があれば、中央から配置を決めていって
相対的に調整したほうがいいかも
後何でもかんでも共通化するのは考え物。
あとで個別に調整入れたときに、新たに作る必要があって面倒くさい!!!

あと、今微妙に困っているのだが、エミュレーターで動かしたら
割と結構文字が小さく見えたので大きくしたところ
Preferenceの文字だけ大きくならなかった。
何でだろうと思ったら、そこだけライブラリで管理していた。
……文字を大きくする方法を調べないと
何でもかんでもライブラリを採用するのは考え物。

めも
AlarmManagerを使う場合の注意点
Androidでアラームアプリを作る
[Android] AlarmManagerをBroadcastRecieverと使う
ALARMMANAGERで指定した時間に処理させる
AlarmManager(公式ドキュメント)

Youtubeの表示はJavaScriptによる表示のようである。
なので一度全部表示してからじゃないと正しく値が取れない。

今、node.jsを使ってクロージングができないかを調べてみる
で、今のところnpmのcrawlerSpookyJSの候補が二つ上がっている
crawlerで試しにyahooの検索ページから情報を取得してみようと思ったが
検索結果が取得できなかった。
おそらく検索結果はJavaScriptの結果を表示している為
データが取れていないと今はそう仮説を立てている。
*知識不足過ぎて何が正しくて間違っているのかよくわからない状態

参考サイト:SpookyJS(GitHub)

ひとまず、SpookyJSの更新日時が4年前くらいにとまっているのが凄く気になるが
どうやらJavaScriptの結果自体を取れるらしい(未検証)

コマンドメモ
npm i phantomjs casperjs spooky

参考サイト:SpookyJSでJavaScript有効状態のページをスクレイピング

というかnpm auditでやるとmoderateが10、highが1それぞれ出てくる(白目)

おかしい・・・。なんで俺は修正作業をしてるんだ・・・?

package.jsonをnpm-check-updatesで一括でやろうと思ったが
なんか指定のバージョンまで上がらないし
これもしかすると手作業で直して
対象のフォルダでnpm updateかけた方がが早い気がする・・・

参考サイト:脆弱性の警告を受けたnpmパッケージの依存関係を力技で直す
参考サイト:npm installしたパッケージの更新確認とアップデート(npm-check-updates)

エラーを出さなくする方法
1.npm auditに従ってそこのフォルダに移動してpackage.jsonのバージョンを修正をする
2.node_modelusに入ったデータを上の方でコピペする
3.package-lock.jsonを消し、npm i --package-lock-onlyで新しく生成する
npm auditを使ってエラーが減ったかを確認する

なお、まともに動くかどうかは知らん!!!

というか大本のPhantomJSの開発が終了しているらしい
参考サイト:PhantomJSの開発が終了しリポジトリがアーカイブ化された

代替としてHeadless ChromeがあるらしいがなんかもうUWSCを引っ張りなおした方がいい気がしてきた・・・。

javascript

取得系は、puppeteerがなんだかんだでようやくできた。

参考サイト:Puppeteerを使ったスクレイピング
参考サイト:Chrome操作ライブラリ chromy と puppeteer を比較
参考サイト:puppeteerでスクレイピング

凄く苦しんだところとして、タグのリンクを取る方法が分からなかった

例えば、h3タグのリンクアドレスを取りたい場合は以下のようにした。
 var h3Document =node.querySelector ('h3 a[href]');
h3Document.getAttribute ('href');
これでアドレスを取ることができる。

また、ちゃんとページ遷移を待ちたい場合は以下のように書けばよい
await page.goto (linkAdders, {waitUntil: 'domcontentloaded'});

単純にWaitをかけたい場合は以下のようにすればよい
await page.waitFor (1500);

参考サイト:puppeteerでよく使うであろう処理の書き方

awitとか使っている場合は
forEachより、for..inとかfor..ofの方がよい
forEachは関数内に処理を書くので
非同期系の処理だとエラーになる

参考サイト:for..in  by Mozilla Contributors is licensed under CC-BY-SA 2.5.
参考サイト:for...of   by Mozilla Contributors is licensed under CC-BY-SA 2.5.

関数内で関数を呼び出す方法が分からん。

あ、そういえば、Sourcetreeを立ち上げていると何度もログインを求めてくる現象について調べないとあかん。


GithubでPrivateレポジトリが使えるようになったと聞いたので
実際に使ってみた。
今のところは特に変わらない感じ。
ウミガメのスープの問題をどうやって管理しようかと悩んでいたところだったので
とてもちょうどよい。
GitGUIとか使ってみたのだが
正直、コマンド打った方が早いし確実
文字化けの対策については、.gitフォルダがある場所でマウスを右クリックをして
Git Bushを出させる。
それをクリックして起動した後に、以下のコマンドを入力する
git config --global gui.encoding utf-8

GitGUIを立ち上げなおすと文字化けが治るはず

参考サイト:Git for Windows の Git GUIで文字化けする場合
参考サイト:Git for Windows で日本語を使いたい

なお、Wordファイルだとどれくらい変化したかが分からないので
基本的にMarkDownでやることにあった。

今のところは、エディタに関してはVisual Studio Codeという凄く便利なエディターがあるので基本をそれを使っている。
というか割と真面目にEmEditorと要らんかもしれん・・・。

メモとして参考になりそうなのを張っておく
脱GitHub初心者を目指す人のREADMEマークダウン使いこなし術
Markdown記法一覧




2019年1月4日金曜日

2018-12-24、28、30 到達点メモ


久しぶりにVRChatを立ち上げて新規SDKにアップデートしたら
なんかUnityのバージョンが違うとか言ってる・・・。
~15のところを自分がやったのはどうやら~17っぽい

色々やって何とかログインまでは出来たのだが
なんかよ見込むファイルが多いせいか、ほぼ真っ黒。
ここら辺は要検証

いつもお世話になっているUdemyの「ゼロからはじめる・みんプロ式・一番やさしいAndroidアプリ開発入門・初級編」(有料)の講師である北川 博之氏からのお知らせで気が付いたのだが、build.gradleファイルの「compile」設定を「implementation」に変更する必要があると聞いた。
そこでその対応をしていたのだがその際に幾つかトラブルがあった。

Kotlinのバージョンを上げたところ以下のようなエラーが出た。
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
恐らく、jre7のバージョンで'1.3.11'が無いのだと思われる。

対処はいろいろあるが、今後も考えると最終的には
以下のようにした方が良いと思う
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

参考サイト:Kotlin Error : Could not find org.jetbrains.kotlin:kotlin-stdlib-jre7:1.0.7

どれが原因かはよくわからないのですが、kotlin以外にも
Gradleやコンパイルのバージョンを上げたところ
以下のようなエラーが出るようになった。
Android resource compilation failed

エラー欄をちゃんとよく見たところ、
error: not a valid string.(意味は、エラー:無効な文字列です。)という文章と
失敗した生成フォルダにリンクがあったので
そこに移動したところ、以下の部分でエラーが起きているようだった。
<string name="audioFileLoadingFailedMessage">Caricamento del file audio non riuscito \nEsci dall'applicazione.</string>

今まではこれで大丈夫だったのだが『'』がどうやらエラーの原因のようだった。

コンパイルのバージョンを上げたのが原因かもなぁ・・・。

というかVoiceTimerが起動しなくなったので慌ててバージョンを元に戻す羽目に・・・

ひとまず

compile fileTree(dir: 'libs', include: ['*.jar'])

implementation fileTree(dir: 'libs', include: ['*.jar'])
に変更したことは関係が無いようである。

原因は結局不明なのだが
エミュレーターのAndroid8.0で通知を更新すると音が鳴る現象が起きていた
新しいAndroid8.0のエミュレーターを使って動作確認をしたが
そちらの方ではならなかった。

コマンドプロンプト

ディレクトリィを作りたい場合は
mdもしくはmkdirを使う

ただし、このままだと作るだけなので
移動したい場合は、cdを使う事

参考サイト:ディレクトリを作成する 

年が変わったのでここまで