overflow33の日記

python 機械学習 系の記事を書いて行きたい所存

C Matlab python での for ループ比較

ループ処理の書き方

C言語

int i;
for(i=0; i<=10; i++;){
    printf("%d\n", i)
}

Matlab

for i = 0: 10
    disp(i)
end

python

for i in range(11):
    print(i)

pythonリストの処理

L = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for i in L:
    print(i)

すべて 0 から 10 までの整数を順番に表示するプログラムである。

ループ処理の開始と終了範囲

C : {}で括る範囲
matlab : for から end までの間
python : for~~: より下の行で、インデント(行頭のスペース)が下がった範囲

ループ処理の開始値と終了値

C

始値、終了条件、一回終了時の処理を明示する必要がある。
for(開始値; 終了条件; ループ毎の処理;)

float j;
for(j=0.0; j<=1.0; j=j+0.1;){
    printf("%d\n", j)
}

Matlab

コロン(:)で、開始値と終了値を指定する。
増分(差分)を指定したい場合は、開始値 : 増分値 : 終了値のように書く

for j = 0: 0.1: 1
    disp(j)
end

python

range()関数で配列(正確には< range class >)が作成され、その中身が順次 i に入ることでループの処理が行われる。
0以外の数値から開始したい場合は、次のようにrange()関数のrange(start,stop,step)を指定すれば良い。
(range関数では、引数が一つの場合、range(x) => start=0, stop=x, step=1と解釈される。2つの場合 range(x,y) -> start=x, stop=y, step=1)
また、range()関数の引数は、整数(int型)のみで、小数(float型)は使えない。

for i in range(5, 11, 2):
    print(i)

output

5
7
9

Windows 目覚まし化

PCなら目覚まし機能くらいかんたんだよね!?

どうせなら、朝から、好きなプレイリストを再生できたらいいな~。

なんなら、だんだん音量を大きくしたい。

と思いったって、やってみたのですが、手間取ったので記事にします。

 

まず、Windowsの標準機能には…目覚ましはありません!

そう。自分で作るか、人が作ったものを使うしかないのです。

 

この辺のアプリを使っても実行できそうですが、自分の好きなプレイリストとは行きません。

forest.watch.impress.co.jp

 

ざっくりと、構成を書いておくと以下のような仕組みになります。

①音楽プレイヤーの起動と再生を行うバッチファイル(.bat)を作成しておく

②タスクスケジューラで目覚ましの時間にバッチファイルが起動されるよう指定する

③スリープ(普通にやると上手くいかない)

④指定時刻になると、スリープから復帰してタスクが実行される

⑤音量を徐々に上げていく

 


ここで、いくつか難しい点をざっくり、解説します。

詳細は後ほど、記事を書く予定です。

 

①バッチファイルで操作できるプレーヤーって?

foobar2000 に Run command コンポーネントを入れる

 


②タスクスケジューラの指定方法は?

minto.tech

 


③普通にスリープしても復帰しないんだけど…?

サスペンドスリープ+自動ログインで解決

 

サスペンドスリープはこちら

overflow33.hatenablog.com

自動ログインはこちら

pc-karuma.net

もしくは、

technet.microsoft.com

レジストリで変更する場合

https://support.microsoft.com/ja-jp/help/324737/how-to-turn-on-automatic-logon-in-windows

 


④再生ってどうやるの?

foobar2000+RunCommand であれば、バッチファイルに書いておけば良い

cd /d C:\Program Files (x86)\foobar2000
start foobar2000.exe "/play"

 


⑤音量を上げる…?

foobarの音量を上げたい場合

foobar2000.exe /runcmd="Playback/Volume/Up"

 


Windowsのシステムボリュームを上げたい場合

NirCmdを使う

uwagakisimasuka.blog.fc2.com

CommandVCを使う(後の解説ではこっちを利用していますが、少々古いです。)

mosprivpro.blog.fc2.com

 


⑥徐々に音量を上げるって、バッチファイルでできるの?

→forループ+pingの待ちで実現できます。

for /l %%A in (1, 1, 9) do (
ping -n 1 -w 60000 192.168.15.1
rem ping -n 1 localhost
foobar2000.exe /runcmd="Playback/Volume/Up"
)

 


長くなったので、一端ここまで、詳しい解説は後ほど作ります(きっと)。

Windows 目覚まし化 解説その1:Windows10のスリープの種類

Windows 10のスリープの種類についてです。

 

詳しい解説を書いて居る方がいたので、こちらを参考にしました。

michisugara.jp

 

ざっくり言うと、スリープにも3種類あって、

・休止モード:HDD(SSD)だけに、作業中のデータを保持する

・スリープ:メモリに作業中のデータを保持する

・ハイブリットスリープ:HDDとメモリの両方に作業中のデータを保持する

 

復帰が早いのは、メモリにデータを保持するスリープとハイブリッドスリープ。

消費電力が少ないのは、休止モードです。

ハイブリッドスリープとスリープの切り替えは、コントロールパネルの電源オプションから行えます。

(まれに、マザーボードが古いものだと、ハイブリッドスリープに対応していないこともあるようです。)

f:id:overflow33:20171217160116p:plain

f:id:overflow33:20171217160124p:plain

 

しかし、これらの設定をいくら変更しようと、タスクスケジューラから、PCをスリープ状態から自動的に復帰させることはできません。

(タスクスケジューラの存在意義とは…?)

 

タスクスケジューラのタスクによって復帰させるには、サスペンドモードを利用しなければなりません。

下記のサイトにある「Suspend.exe」を使うことで、「タスクスケジューラのタスクによって自動復帰できる」スリープ状態になります。

tipszone.jp

 

「Suspend.exe」をダウンロードして、デスクトップにでも置いておき、スリープしたいときに、実行(ダブルクリック)すれば、スリープモードにすることができます。

(意識高い系)カタカナ言葉の多用に思うところ

最近、カタカナ語を使っている人を「意識が高い(笑)」と皮肉る人がいる。

例えば、

エビデンスを固めてからアジェンダを作って、アジャイルな開発を進行するべき」

(=根拠を固めてから、進行予定表を作って、迅速な開発を進行するべき)

とか

本人意味わかって喋ってるのかなって、思ってしまう。

 

要は、英語をカタカナにした言葉を好んで多用しているのである。

なぜ、英語のまま使ってしまうのか、いくつか理由を考えてみた

・日本語に該当する言葉がない

・相手にわかりにくくすることで、議論を有利に進めたい

・適当な表現で、相手を煙に巻きたい

・語彙力がないために、日本語で表現することができない

・単に格好をつけるため

 

こんなもんだろうか?

 

上の3つ

・日本語に該当する言葉がない

・相手にわかりにくくすることで、議論を有利に進めたい

・適当な表現で、相手を煙に巻きたい

これらは、理由として真っ当であると思う。

日本語では伝わらないニュアンス(表現の機微)を伝えたい。もしくは、めんどくさい議論を避ける目的がはっきりしている。

 

問題は下の2つ

・語彙力がないために、日本語で表現することができない

・単に格好をつけるため

この場合、 日本語でわかっていないのに、あやふやな概念のまま平気で会話に使っていることになる。

馬鹿にされるのもうなずける。

 

とすると、カタカナ語を使う人を馬鹿にする前に、

意味のわからないことを言っているのか、

意図があって使っているのか、

を判別できるだけの知恵がないと、本当の馬鹿は笑っている当人になってしまう。

日本語も英語も勉強しないとなぁ…。

Kindle買ってみた

Kindle Paperwhite 32GB、マンガモデル

こいつ↓

f:id:overflow33:20171216162940j:plain

http://amzn.asia/ifgGrOT

買ってみた。

本棚が要らないとは言わないが、文庫本とラノベはこっちのほうが便利です。

 

文字は思っていたよりもくっきり映るし、電子ペーパなので、液晶よりも目が痛くなりにくいように感じます。

ページ遷移のときに、僅かに時間がかかるのと、時々一瞬だけ白黒反転することがあって、すこし不快ですが、問題にするほどではないかなと。

地味に嬉しいのが、読み終えるまでの時間を予想してくれるところ。

辞書と青空文庫(無料)があるので、古い本や辞書が好きな方は、何も買わなくてもKindleだけで楽しめるかと思います。

f:id:overflow33:20171216163008j:plain

f:id:overflow33:20171216163128j:plain

下面に電源ボタン(右)とUSB接続(左)。

PCにつなぐと、USBメモリみたいに認識され、documentsフォルダにコピーすれば、既存のPDF(ロックの掛かっていないもの)を読めるみたいです。

 

これで、本棚の残量を気にせずに、文庫本、マンガが買えるぞ…。

 

買ってみて、街の書店が減っていく理由の一端がよくわかった。

アマゾン強いわけや。

 

ちなみに入っている辞書の一部は…

・デジタル大辞林(国語辞典)

プログレッシブ英和辞典

プログレッシブ和英辞典
・Oxford Dictionary of English(英英辞典、イギリス英語ver)
・The New Oxford American English Dictionary(英英辞典、アメリカ英語ver)

他にも幾つかの言語と英語の相互辞書が入っています。

 

ニコ動の衰退とユーザの煽り合いの件

ここ10年とは言わないまでも、7,8年ずっと見てきたつもりではあるニコニコ動画

いつの間にか、ゴテゴテ(後手後手)のサイトに成り果てていたと思われている。

2011年に開始されたクリエイター奨励プログラムは、Youtubeよりも早く、当時は画期的だった。

当時がニコニコの最盛期であろう。

 

先日の新バージョン(く)の発表以前から、投稿される動画も減りユーザーも離れていったことは、事実である。

プレミアム会員が当たり前だった頃から、プレミアム会員が馬鹿にされるようになったのも、ここ最近のことである。

 

ニコニコが、没落するまでの間やっていたことといえば、個人チャンネルの強化やニコニコ広告の機能追加、マルチメディアプラットフォーム化(=複数の媒体への対応や、政治・芸能・音楽・ニュース・ラノベ・漫画との連携強化)が主であったように思う。

親会社の意向(威光)が強いのか、船頭が多いのか、二兎も三兎も追いかけたことで、本流の動画、生放送を放置した。

さらには、ユーザが見たいものよりも、運営に都合の良い、運営が見せたいモノを見せるようになった。

 

これらの施策は、収益の多角化と売上の増加を狙ったと思われるが、現状を見る限り、見事に失敗している。

とすると、はやりプレミアム会員の大半は、生放送と動画を見にニコニコにやってきたのではないだろうか。

 

Youtubeはこの間、広告収入のシステム導入、動画配信システムの強化、生放送への対応と、本流のサービスを強化し、コンテンツ(動画や配信)はユーザに任せる形式にこだわった。

 

やはり、長期的・安定的に課金をしてくれるシステム・ユーザが、利益を上げる上で非常に重要であると教えてくれる。

何が言いたいかというと、売上と短期利益の至上主義は古くなり、長期の契約を結び、お互いが安定して利用できるものが生き残るじゃないかと思う。

ほんとに稼げるシステムを作るには、本流のサービスを大事にし、しっかりとサポートを行うのが大事なことを見せつけられた。

 

当サイトについて(免責事項)

当Webサイトの記事や情報をも とに行う行動は、全て皆様方の自己責任のもとに行ってください。当Webサイトの記事や記載内容から生じる情報により、直接損害、間接損害、特別損害、偶発損害、派生的損害に対 する責任については、当Webサイト運営管理者は責任を負いかねますので、予めご了承くださいますよう宜しくお願い申し上げます。

なお、当サイトへのリンクはフリーです。