「インピーダンス」を含む日記 RSS

はてなキーワード: インピーダンスとは

2024-06-06

anond:20240605194432

これ「実在する」の定義次第で無限ディスカッションできるんだけど。

実在する」=「物理量として観測に現れる」という意味なら、虚数 (複素数) はインピーダンスとして観測されるよなと思い至った。

とはいえその定義だと無限精度の観測ができない以上 無理数実在しないことになるぞ、という反論はありそう。

2024-06-04

anond:20240602193210

plane wave tube(PWT)について補足

PWTに用いられる吸音材はポリウレタングラスファイバー、スチールウールなど普通の吸音材だが、その形状に特徴がある

以下のpdfを見ればわかるように、徐々にテーパーの掛かったツノ型の吸音材(Eckel wedge)が用いられることが多い(無響室の壁に貼ってあるものと同型)

https://etran.rs/common/pages/proceedings/IcETRAN2017/AKI/IcETRAN2017_paper_AKI2_6.pdf

あるいは、パイプ状の吸音材の中心をテーパー状にくり抜いて、逆ツノ形とすることもある

いずれにせよ徐々に断面積を変化させることでパイプ終端部での急激な音響インピーダンス変化による反射および気柱共鳴の発生を防ぐ目的があるのだろう

以下、参考資料

https://pubs.aip.org/asa/poma/article/26/1/045003/836690/Sound-transmission-measurements-through-porous

An anechoic wedge is considered to be anechoic if it can absorb 99% of the incident energy (absorption coefficient of 0.99 or a pressure reflection coefficient of 0.1). 3 The length of the anechoic wedge is the primary factor that determines the low frequency limitations of an anechoic wedge but the taper angle also matters. A commonly used criterion is that the low frequency anechoic limit of a wedge occurs when the wedge length is approximately 1/3 the length of a wavelength. Further design considerations are given in Reference 3.

ツノ形吸音材は波長の三分の一以上の長さでなければならない

ttps://digitalcommons.usu.edu/cgi/viewcontent.cgi?article=1123&context=spacegrant

The end of the receiving side tube was fitted with a 1.35 m anechoic termination designed to be anechoic to 60 Hz [22]. the absorption coefficient is greater than 0.90 all the way to 50 Hz.

→1.35mのツノ形吸音材をパイプ内に配置したところ、50Hzまで0.90の吸音係数となった(注: An absorption coefficient of 1 means that all acoustic energy striking the surface will be absorbed and none reflected)

ttps://physics.byu.edu/docs/publication/790

a 1.5 m anechoic termination was located at the far end of the receiving tube. The source consisted of a 10 cm full-range moving coil driver with a sealed rear enclosure. The anechoic termination consisted of a tapered wedge cut from a solid cylinder of open-cell foam rubber and situated inside another section of 10 cm diameter acrylic tube. An air gap behind the wedge was filled with loose fiberglass insulation and the tube was capped with a thick steel plate.

→1.5m長、10cm口径アクリルチューブ内にツノ形吸音材を配置。その後ろにはファイバーグラス。67 Hzまで吸音係数0.99(ほぼすべて吸音)、40Hz以下でも0.70以上。

ttps://www.diva-portal.org/smash/get/diva2:893785/FULLTEXT01.pdf

ttps://www.redalyc.org/journal/849/84959055006/html/

ttps://www.researchgate.net/publication/249996349_Numerical_methodologies_for_optimizing_and_predicting_the_low_frequency_behavior_of_anechoic_chambers

ttps://media.neliti.com/media/publications/355792-computational-investigation-of-various-w-284f86a7.pdf

Building a Plane Wave Tube Experimental and Theoretical Aspects(要購入)

On the acoustic wedge design and simulation of anechoic chamber(要購入)

Plane wave analysis of acoustic wedges using the boundary-condition-transfer algorithm(要購入)

ttps://scholarworks.wmich.edu/cgi/viewcontent.cgi?article=1047&context=masters_theses

ttps://www.researchgate.net/file.PostFileLoader.html?id=55113a60d2fd647b6e8b45c9&assetKey=AS%3A273742293340165%401442276656878

ツノ形吸音材の長さや後ろのエアギャップの長さを変えて吸音率をシミュレーションしている

ttps://pearl-hifi.com/03_Prod_Serv/PR2/Refs/105_Anechoic_Chamber_Design_and_Construction.pdf

→長さや素材を変えて比較

ttps://www.researchgate.net/figure/Impulse-absorption-and-reflection-by-acoustic-foam-wedges-left-and-block-right_fig3_267080775

ツノ形吸音材と長方形吸音材にインパルスを当てたとき比較後者は反射波が出ているが前者はスムーズ

ttps://www.researchgate.net/publication/331351282_How_Do_Acoustic_Materials_Work

→各種吸音方式の吸音率の比較ツノ形が一番効率高い)

https://www.diva-portal.org/smash/get/diva2:893785/FULLTEXT01.pdf

→形状はピラミッド型・ハーバード型が最良

→奥行きが長いほうが吸音効率高い(低域カットオフ周波数: fc=c/4h hはツノの高さ(奥行き))

→土台の長さ、背面エアギャップ、横の長さはあまり関係ない

→流れ抵抗は低いほうが低域まで吸音できる

ttps://pearl-hifi.com/03_Prod_Serv/PR2/Refs/105_Anechoic_Chamber_Design_and_Construction.pdf

→エアギャップが長いと超低域の吸音効率上昇、しか100Hzあたりで効率低下

→吸音材底部を壁に貼り付けると効率低下(スティフネスが高いとだめ)

棒を突き刺して天井から吊り下げるのもよくないとのこと。しかし棒を突き刺すだけで棒を固定しなければむしろ音効率上昇する

これはスティフネスよりも棒の質量が影響しているとのこと

棒を長くすると逆に効率低下(ただし微妙な差なので誤差かも)

ツノの角度は13~17°くらいが一番いい(それより小さくても大きくても効率減少)

→土台は長い方が良い(10~15cmあたりが一番良い?)

ツノパラボリック型にしても変わらなかったとのこと

→硬い面に設置するのとレゾネーター上に設置するのでは前者のほうがいい

→グラスウール90kg/m^2と150kg/m^2では後者のほうが良い

→通常ツノ型吸音材はウール系よりも硬いメラミンポリウレタングラファイトなどで作られる。ファイバーウールのほうが音響特性は良いが強度がないことと人体への危険などがあるため。

ツノ型吸音材はツノツノの間に入った音波が反射を繰り返して減衰することから実質的に3~4倍の面積があることになる

ツノの先を低密度の素材にして波が入射しやすくし、土台を高密度の素材にして吸音率を高めるなどの工夫もある

ttps://diyaudioprojects.com/Technical/Papers/Loudspeakers-on-Damped-Pipes.pdf

パイプダンピングや形状の検討

→逆ホーンにするとパイプ共鳴周波数が1/3オクターブ上下がる

→小型スピーカー場合200Hz以下は点音源となり無指向性となるがダンプされたパイプの低音はa unidirectional gradient sourceとなり指向性を持つ

ttps://diyaudioprojects.com/Technical/Papers/Alpha-Transmission-Lines.pdf

トランスミッション方式研究

また面白いことに、逆ツノ形状は「音響ブラックホール」とも呼ばれ、ブラックホール音響的に再現しようとする試みでも用いられている

詳しいことはよくわからないが、光がブラックホールに入ると脱出不可能になるように、音波が脱出不可能になるような仕組みを音響的に作ろうという試みらしい

中にはノーチラスのような角巻形のいわゆる逆ホーン形状も検討されていて、興味深い

参考:

https://www.sciencedirect.com/science/article/pii/S0307904X19305700

https://www.researchgate.net/publication/354522527_Acoustic_Black_Hole

https://www.researchgate.net/publication/257829935_One-dimensional_acoustic_waves_in_retarding_structures_with_propagation_velocity_tending_to_zero/download?_tp=eyJjb250ZXh0Ijp7ImZpcnN0UGFnZSI6InNpZ251cCIsInBhZ2UiOiJfZGlyZWN0In19

このあたりのフレーズで調べると色々出てくる(日本語ではほとんど情報がない):

plane wave tube

impedance tube

acoustic black hole

anechoic termination tube

anechoic wedge

おKEFが「音のブラックホール」なる迷路状の吸音構造を近年開発した。これは様々な長さ(=様々な共鳴周波数)を持つ閉口端のチューブを組み合わせ、振動からの音波を共鳴によって打ち消す仕組みとなっており、古典的共鳴器型吸音構造と言える

参考:

KEF、“音のブラックホール”開発。「まもなく」製品

https://av.watch.impress.co.jp/docs/news/1274260.html

https://international.kef.com/pages/metamaterial

https://www.theabsolutesound.com/articles/metamaterial-absorption-technology/

2024-06-02

無限パイプ理想的なホーン

>But a suitably damped, long pipe (plane wave tube) closely approximates the resistive load impedance of an infinite pipe across a wide band of frequencies, and is very valuable for testing compression drivers12, 13. It presents a constant frequency independent load, and as such acts like the perfect horn.

https://www.grc.com/acoustics/an-introduction-to-horn-theory.pdf

http://blog.livedoor.jp/machida_offkai/74/74_8_hori.pdf

→十分にダンプされた長いパイプ周波数によらず一定音響抵抗を示し、完璧なホーン」のように振る舞う

パイプ音響インピーダンスはZ=ρc/Sであり、断面積が小さいほど抵抗強い

ρc=空気の固有音響インピーダンス

plane wave tubeと呼ばれるホーンドライバーの測定に使われるパイプはこの原理を利用している

https://www.ebay.com.au/itm/126093285497

→ホーンドライバーの測定資料にはパイプ接続した場合とホーンに接続した場合の二種類が掲載されていることが多い

パイプ場合はホーンと違ってかなり低域まで平坦になっていて、確かに全域にわたってロードが掛かっていることがわかる

>“The termination is 2 m (6,56 ft) long and is made of reticulated polyurethane foam having 80 pores per inch. It is tapered throughout its length and is treated to be age and fire resistant.

→長さは2mのようだが、たった2mでこれだけ共鳴のない測定ができるものか?口径が小さいからか?

http://www.angelofarina.it/Public/Standing-Wave/aes-01id-2012-f.pdf

→2インチのホーンドライバーに2インチと1インチパイプ接続すると、1インチのほうがf特が平坦になる

パイプを細くすることはスロートを絞るのと同じ効果


ホーンは機械的な逆起電力に相当?

HornrespにてFe83NVを無限長のパイプ接続した場合シミュレーションを行った

音響インピーダンス一定となり、f0のインピーダンスは丸くなり制動されているようだ

パイプ周波数特性については、f0を中心としてかまぼこのように盛り上がる

パイプ口径を小さくするとf0のインピーダンスはより丸くなり、周波数特性も平坦化する

振動板の実効質量を下げるとf0が上がるが、それに従ってかまぼこも移動する

(100cmパイプ場合、450Hzあたりを中心としたかまぼことなる。さらに長くして9999cmにしても変わらない。なぜ?パイプ口径を小さくするとかまぼこは平坦化せず単により高い周波数に移動する。電磁力機械抵抗を増やしても無限長のときのような変化はない。シミュレーション問題あり?)

無限パイプは全域にわたってロードが掛かるはずなのに、なぜf0の周りだけ盛り上がるのか?

というかホーンはどれも基本的にf0を中心としてかまぼこ特性になるのが基本だが、なぜ?

http://sirasaka.seesaa.net/article/ltspice-bh-afaf.html

→このサイトによると、かまぼこの右側の肩の部分では慣性制御となり、この帯域ではホーンロードがかかっていないようだ

どうやらホーンはf0付近の激しい振動に反応する傾向がある?

そう考えると、逆起電力も同じようにf0に反応して大きなインピーダンスの山を作る

まりホーンは機械的な逆起電力に相当する?

起電力自体は全域にわたって生じるが、振動板はf0で特に激しく振動するためその付近で強く発生する

パイプによるロードも同じく(理想的には)全域にわたって生じるが、振動板はf0で特に激しく振動するためその付近で強く発生する

磁力を強くすると逆起電力も強くなり、インピーダンスカーブは高く、裾の広い形状となる

周波数特性はそれに従いなだらかなものとなり、広い範囲抵抗制御となる

パイプ口径を小さくすると音響インピーダンスも強くなり、周波数特性はなだらかになり、広い範囲抵抗制御となる

まり、逆起電力パイプロードも全域に掛かっている

しかし、振動板の共振慣性に打ち勝つだけの抵抗を発生させるとなると、それ相応のエネルギーを貰う必要があるということではないか

もちろん例えば超伝導スピーカーであれば全域抵抗制御になるだけの電磁力をそれ単体で得られるだろうが、一般には無理だ

しかスピーカーから与えられるエネルギーが十分にあれば、それに対して反応することで振動板に十分な制動をかけることができる、ということではないか

から、Qの大きい、狭い範囲で強く共振するf0の場合エネルギーは狭い帯域にあるのでパイプロードもその狭い範囲限定して強く効く

そして強く効いた結果、その範囲では抵抗制御となるが、そこから外れるとすぐに慣性の影響が支配的になる

一方でQの小さい、広い範囲で弱く共振するf0の場合エネルギーは広い帯域に分散されているので、パイプロードも広い範囲でゆったりと効く

その結果広い範囲で音圧が増幅され、フラット周波数特性となる

よって、逆起電力もホーンロードユニットエネルギー寄生する形で制動をかけるものであり、ユニットからエネルギーが大きくない場合は十分に反応できないのではないか

したがってエネルギーの大きいf0には反応できるが、慣性制御領域では振幅が少ないため十分に反応できない。結果としてf0を中心としたかまぼこ特性ができあがるのではないか

もちろんパイプ口径(ホーンの場合スロー口径)を小さくして音響インピーダンスを増やしてやれば質量に打ち勝つだけの抵抗空気制動)を与えられる(逆起電力場合超伝導などの超強力な磁力でほんの少しの振幅にも大きく反応する逆起電力を生じさせればいいが現実的ではない)

http://www.timedomain.co.jp/tech/hifi03/hifi03.html

→このサイトの第6図、第7図がわかりやす

→電磁制動周波数によらず一定(振幅一定場合

しかしf0では強烈に振幅するので、結果として電磁制動が増加

→f0以降では振幅が収まるため、電磁制動減少

→そして質量周波数に比例して増加するため、中高域では質量支配的に(慣性制御

パイプロード周波数によらず一定(振幅一定場合

しかしf0では強烈に振幅するので、結果としてロードが増加

→f0以降では振幅が収まるため、ロード減少

→そして質量周波数に比例して増加するため、中高域では質量支配的に(慣性制御

2024-03-02

anond:20240302060053

三角関数ゲームプログラミングとか信号処理かに必須から

古文とか漢文が役に立ったことはほとんどない

旅行で寺とかに行って読めるとか、そんなもんだよな

スポーツの成績は精神によっても左右されるので、精神論は必要だけど、数値化して科学論理的思考するのが成績アップのコツ

そこは受験勉強とかと同じなんだよな

そういえば、ギタリスト学校勉強はいるのか?三角関数はいるのか?みたいなのYouTubeで観たけど、

ギターのリペア幾何学必要なのもあるけど、エレキギターの回路とか、PAとしての最低限の知識インピーダンスとかマッチングとか、

学校勉強まったく必要ないって言ってる奴出てたけど、どう思ってるんだろうな

なんでケーブルペアになってるか、とか、どうしてノイズ相殺されるのか、とか、

ギターアンプというより、単なるトランジスタ増幅器さえ組めないレベルだと話にならない気がするし、

そもそもディストーションの音がどうやって実現しているのか、エフェクターの中だってそうだよな

結局、学校受験勉強は役に立ってる気がするぞ

2023-12-02

Bingちゃんに聞いてみました

コンクリートの内壁が剥がれて砂が出てくる現象について、その原因と修理方法を分かりやす説明します。この現象は、コンクリート水和物という成分が劣化することで起こります水和物は、コンクリートの強度や密度に大きく影響します。水和物が劣化すると、コンクリートの内壁がひび割れや剥離を起こしやすくなります。この現象は、水蒸気や油などの影響を受けやす場所や、古い建物で起こりやすいです。この現象は、見た目だけでなく、建物構造安全にも影響する可能性があります。ですから、この現象に遭遇したら、早めに対処することが大切です。

 

コンクリートの内壁が剥離して砂が出てくる現象の原因を詳しく見ていきましょう。コンクリートは、水、セメント、骨材(砂や砂利など)からできていますコンクリートが硬化するときセメントと水が化学反応を起こして水和物を形成します。水和物は、骨材を結合してコンクリートの強度や密度を高めますしかし、水和物は時間とともに劣化したり、外部からの水分や塩分などの影響を受けたりすることがあります水和物が劣化すると、コンクリートの強度や密度が低下し、ひび割れや剥離が起こりやすくなります

 

コンクリートの内壁が剥離して砂が出てきたということは、おそらく水和物が劣化して骨材との結合が弱くなったためだと考えられます。骨材の粒度は様々ですが、一般的には砂のように見えるほど細かいものもあります。 ですので、剥離した部分から出てきた砂は、元々コンクリートの中にあった骨材の一部だと考えられます。剥離した部分が、キッチンの窓の上ということですから、水蒸気や油などの影響を受けやす場所だったのでしょう。また、60年前に建てられた家ということですので、経年劣化も考えられます

 

コンクリートの壁を自分で修復する方法については、以下の手順を参考にしてください。

 

  1. 剥離した部分の周辺を清掃します。ほうきやガーデンホースなどで、ほこりや汚れを除去します。
  2. エポキシモルタルを塗りますVO-500というコンクリート壁修復用の混合物をパッケージの指示に従って調合します。 剥離した部分にモルタルを塗り、ヘラや濡れたほうきでならしま
  3. 防水シーラントを塗りますモルタルが乾いたら、防水シーラントを表面に塗って水分の侵入を防ぎます。防水シーラントは、コンクリートの表面に薄く均一に塗ることが重要です。
  4. 塗料やスタッコを塗ります必要に応じて、塗料やスタッコを塗って壁の仕上げをします。塗料やスタッコは、コンクリートの色や質感を変えたり、美観を高めたりする効果があります

 

 

なお、建物構造に関わる部分については、自分で修復する前にも後にも、専門家による検査を受けることが必要です。コンクリートの強度や密度、鉄筋の腐食や配筋状況などは、非破壊検査確認します。非破壊検査とは、コンクリートの内部に穴を開けたり、壊したりせずに、コンクリート品質状態を測定する検査のことです。非破壊検査には、以下のような方法があります

 

 

非破壊検査を受けるためには、コンクリート診断士という資格を持った専門家に連絡する必要がありますコンクリート診断士は、コンクリート品質状態を正確に判断し、適切な修復方法や予防策を提案することができますコンクリート診断士の連絡先は、[コンクリート診断士協会]のホームページ検索することができます非破壊検査費用は、検査する部分の面積や検査する方法の種類や回数によって異なりますが、一般的には、1平方メートルあたり数千円から数万円程度です。非破壊検査の期間は、検査する部分の面積や検査する方法の種類や回数によって異なりますが、一般的には、数日から数週間程度です。

 

今回のケースではキッチンの窓の上の壁が剥落したとのことですが、その壁が建物構造的な部分(つまり建物を支える役割を果たす部分)であるかどうかは、建物設計次第です。一般的には、内壁は建物構造に直接関係ない部分が多いですが、構造である場合もあります。ですから自分で修復したとしても、できれば専門家意見を聞くことをお勧めします。安全第一で対処しましょう。

 

以上で、コンクリートの内壁が剥離して砂が出てくる現象について、その原因と修復方法説明しました。この現象を防ぐためには、定期的なメンテナンスや注意点が必要です。メンテナンスでは、コンクリートの表面にひび割れや剥離がないか確認し、あれば早めに修復します。また、コンクリートの表面に水分や塩分などの影響を受けやすものが付着していないか確認し、あれば清掃します。注意点では、コンクリートの表面に衝撃や圧力をかけないようにします。また、コンクリートの表面に直接火や熱を当てないようにします。これらのメンテナンスや注意点を守ることで、コンクリートの内壁が剥離して砂が出てくる現象を予防することができます。大切にして、長く使えるようにしましょう。

 

こういうケースで本当にコンクリート診断士相談するのが一般的なのか?単価は正しいか?は確認してないのでよくわからないが(一応、個人宅を見てくれたりはする模様)、

ほかはだいたい合ってると思う

anond:20231202135935

2023-05-04

買ってよかった中華設計製品

Made in Chinaはもはや当たり前なので、Designed in China製品で良かったものを上げる。

1. キーボード nuphy air96

中華キーボードといえばkeychronだが、それではないnuphyというメーカーロープロファイルのフルサイズメカニカルキーボード

音もそこまで大きくなく、ロープロファイルなのに打鍵感も良く大変満足。

ロープロファイルでフルサイズという唯一無二感も良い。

フルサイズなのに700gくらいなので出社する時に持ち歩いてもギリ気にならないので、ハイブリッドワークのお供になっている。

マイナス点としては、技適問題はあるので無線機能殺して有線で使うしかないことくらい。(テンキー要らないって人なら技適通ってるair75ってテンキーレスキーボードがある)

あともうひとつ、気になるというか心象的によくないと感じたのは、nuphyのキーボードが良いとレビューしているYouTuberキーボードオタクそれぞれに10%オフクーポンを発行していて非常にステマくさいところ。

後発としてはたとえステマっぽくてもこれくらいPRしないといけないのだろうが、10年前ケンモメンだった俺だったら絶対買わなかっただろう。

2. ヘッドホン hifiman sundara

開放型の平面磁界駆動ヘッドホンインピーダンス低めだが平面磁界駆動は鳴りにくいのでアンプがあった方が良い。

音質はあまり詳しくないが、値段(35000円くらい)に対しては良い音なのではないだろうか。

中華クオリティを感じたのは対応しているはずのバランスケーブルを奥まで差すと音が鳴らなくなり、少し半差し気味にしないといけないところ。(これに関してはリケーブル側の問題可能性もあるのでなんとも言えないが)

開放型で軽量で長い間つけていても嫌な感じがなく、音も悪くないので良い買い物だったと思っている。

3. 充電器とモバイルバッテリー anker製品

まぁ、これは説明不要でしょう。最近燃えたらしいけど、他の中華製品と比べたら安心感ある。

4. switchbotのアレコレ

なんだかんだアレクサ等で家電操作できるのは便利。

switchbot以外を知らないため比較してこれの方が良いと言い切れないが、悪いものではないのは確か。

とはいえこんなものか。

スマホタブレット中華製は人気だけど、それは持ってないので知らない。

あと、sharkの掃除機仕事場の周りを掃除するのに便利でなんとなく中華っぽいが、あれはアメリカ製

2022-12-27

ドラッグレースにおけるトラクションとスピーカー振動板の空振りはよく似てる

結局大事なのはどちらも機械抵抗であってエンジンパワー(磁気回路)や電子制御イコライザ)がいくら優秀でも頭打ちなんだよね

ドラッグレース場合はどれだけ後輪に荷重をかけられるか、スピーカー場合はどれだけ空気とのインピーダンス整合させられるか

から前者ではRRが有利だし後者ではホーンスピーカーが強いわけだ

2021-09-30

anond:20210930191628

懐かしい。11a/b/g時代に寮の無線LANパンクしていた。PLC検討したけど、全然ダメだったよな。そりゃそうよ、インピーダンスマッチングしてないんだから、高速伝送は無理

2021-07-03

anond:20210703152403

彼らは耳じゃなくてオシロスコープ音楽聴くから、いろいろ材質変えたらインピーダンスが変わって波形(≠音質)は変わるんじゃね

anond:20210703152403

イヤホンケーブルを変えたらあからさまに音が違ってビビった。あれどういうことなんだろうな。インピーダンス周波数特性が違うとか?流石に電源ケーブルが効くというのはかなり懐疑的だけど。

2021-06-13

同軸ケーブルは並列にするとインピーダンスが半分になります

直列ではインピーダンスは変わりません。

ググって上に出てくるYahoo知恵遅れは間違っているので注意しましょう。ただし参考に貼ってあるサイトは正しいです。

パンティ

2020-12-20

プライベートメソッドテストすべきか

「すべきでない」というのがたぶん多数派

テストすべきでない理由としてだいたい次の理由があげられる。

プライベートメソッド関数テストする必要は無いと考えていますプライベートメソッドは、実装の詳細であるからです。

多くの場合、そのクラスパブリックメソッド経由でプライベートメソッドテストも同時に行えます

プライベートメソッドのテストは書かないもの? - t-wadaのブログ

ほとんどの場合プライベート メソッドテストする必要はありません。 プライベート メソッド実装の詳細です。

プライベート メソッドがある場合は、パブリック メソッドを見つけて、そのメソッドに対してテスト記述します。

単体テストを記述するためのベスト プラクティス - .NET | Microsoft Docs

プライベートメソッドテストするな」と強く主張されるのは、ケント・ベックの影響もあるかもしれない。

例えばtwitterで、パブリックメソッドにだけテストを書き、テスト必要なほどプライベートメソッドが複雑ならそれを別のオブジェクトに切り出す必要があると発言している(twitter/kentbeck)ように、プライベートメソッドテストに強く反対している。

またベックの書いたSUnit(xUnitの源流にあたる)には「ひとつテストひとつオブジェクトで表し、それによってテスト独立性を高める」というアイディアが使われている(そのアイディアを実現するためにとても複雑な設計をしている Simple Smalltalk Testing: With Patterns)。テスト自身ひとつオブジェクトとして独立しているなら、テスト対象となるオブジェクトプライベートメソッドテストできないのは当然のことになる。

しかし「プライベートメソッドテストがしたい(したくなることがある)」と感じる人も相当数いる。

そう感じる人にとってはむしろここからが本題で、

問題になる。

テストファーストで開発するなら手を動かしながら軽い気持ちで書きたい。

例えそのクラスがprivateメソッド依存関係があっても。

コンストラクタインジェクションされたクラスのprivate メソッドでもテストファーストしたい - Qiita

privateなルーチンの自動テストは面倒だ。実際にコーディングするとき最初publicにしておいてテストしてうまく動いていそうならprivateにするのだけど、この「いそう」がくせ者。いっそのことすべてpublicにしたくなる。

私は元々メソッドはprivateにしない主義なのでメソッド場合問題ないのだけれど、ファイル内の「関数」が問題になる。和了計算だと和了形判定とか符計算とか和了役判定とか単体でテストしたい内部関数が山ほどある。(twitter/koba0367)

private メソッドテストすべきか問題原則論だけだと袋小路に入りがちだから、private メソッドテストしたくなる具体的な場面について議論したほうがいいと思う。

自分レビューでよく見る例としては、複数の public メソッドの重複部分を private メソッド抽出した結果、濃い private メソッドと薄い public メソッドが一対多関係になる場合が挙げられる。設計としては間違っていないし、わざわざ public メソッド経由でテストする意義があるかというと微妙。(twitter/ts7i)

きれいなインターフェースを作ろうとすればするほどpublicメソッドじゃない部分に複雑性を追いやることになり、壊れた時に手戻りが大きすぎると思ったら、プライベートバックドア開けてでもテスト書くようにしてます (twitter/mizchi)

しかプライベートメソッドに対するテストを書こうとすると大概リフレクションなどで可視性の制限をすり抜けるとかメソッド可視性を変更するといった回りくどさやコストの導入が必要になるので、じゃあプライベートに対するテストはそうしたコストに見合うのかが問題になる。

伊藤さんの答えは「原則書かないほうがいいという大前提のうえで、どうしてもというときは、"これはテストのためにpublic"にしているというコメントの上でpublicにする」だった。

自分は「テスタビリティのためにメソッドをpublicにする」っていう"実プログラム挙動を変えること"の方が、「privateなメソッドテストコードのみsendで叩く」よりも怖いって思ってることに気がついた。(twitter/highwide)


メソッドプライベートパブリックかという話とそれをテストするかどうかは別問題だろという意見もある。

単体テストホワイトボックステストだとするなら、publicかprivateかでテストの有無が変わるのは明らかにおかしいだろ。ややこしいロジックはprivateに隠蔽すべきだが、そこがテストできないなんて。 (twitter/kmaebashi)

private メソッドテストするかどうか? まず最初に言っておきたいのは public/private は抽象設計問題であって、テストすべきかどうかとは当然無関係だろうということ。(twitter/qeigoi)

特定言語の貧弱な機能思考制限を受けて誤った結論を出している典型的な例。

"テストを書くべき"と"上位層から可視性"は直交する概念

https://b.hatena.ne.jp/entry/4684049296462116226/comment/megumin1

テスト粒度メソッドアクセス権は独立したものなので、「プライベートメソッドテストすべきか否か」という切り方自体ナンセンスではあるのだが、現実問題としてはアクセス権がテストに影響するので難しい。(twitter/AoiMoe)

private メソッドテストはすべきかどうかというより、「できるべき」であって、それができないというのも、ある種、言語機能テストインピーダンスミスマッチと言えるのではないだろうか、と思っている。(twitter/aetos382)


プライベートメソッドテストがしやす言語での意見

RustやGoではプライベートメソッドに対するテスト簡単にできる。

そのためかプライベートメソッドテストすることに対して拒否反応があまりないようだ。

Rustのテストファイル内とtests/以下の2箇所に書ける。

テストには開発用のホワイトボックステスト仕様確認用のブラックボックステストがあり、前者をファイル内に、後者をtests/に書けば良い。

例えば度々議論になるプライベート関数テストについてはもちろんホワイトボックステスト。(twitter/blackenedgold)

Rustではプライベートに対して何の手間もなくテストが書ける。

概念的にはプライベートに対するテストは外部コードではなく内部コードの一部として見るべきなのだろう。

Rust入門を兼ねてプロジェクト・オイラーの問題を解く - 再帰の反復blog

Rustでprivateなメソッドテストを書きたいなら、そのメソッドのすぐ隣に書けば内部アクセスになるから普通に書けるよ、ってのは目からウロコだった。できるだけ近いところにテストを書こうっていう文化と相まって最高。(twitter/kuy)

Rustみたいに単体テストは同ファイルに書ければいいのに

assertionチックにprivateメソッドのすぐ下にテスト書きたい

ドキュメントにもなるし (twitter/takaya_tim)

Rust のようにユニットテストプロダクションに混ぜる方式はおれもいいと思ってて、テストプロダクションを分離することで private 関数テストができない問題があるけど(テストしたければクラスを分けよ/メソッドを公開せよ/テスト必要なし、に分かれるよね)、そもそもこの議論不要になるよね (twitter/nunulk)


go言語だとプライベートメソッドテスト普通にやりますね。(twitter/mattn_jp)

昨日「private method の単体テストは書くか否か」という話題がちょいとあったのだが、わしは当然書く感じの昨今を送ってきたもんで何で書かんのやくらいに思ってたんだけど、Go だと private なやつのテストが書きやすいってのがデカそう。(twitter/pankona)

golangのテスト書いてたけど、テストプログラム名前空間(パッケージ)が、対象プログラムと一緒で、そのためプライベートメソッドでもテストできるの良い感じ (twitter/74th)

Goテストコードテスト対象と同じパッケージにすればエクスポートしてない関数でもなんでもテストコードから参照できるんだけど、これってプライベートメソッドテストすべきか議論するよりテスト書けと言われているようで好き。(twitter/plan9user)

プライベートメソッドテストするか?」とは別にドキュメントソースコードと同じファイルに書いていい(文芸プログラミング)なら、単体テストテスト対象と同じファイルに書いてもいいのでは?」というのも論点になるかもしれない。

2020-08-16

ゲーミングPCはなぜ光るのか?

  • 眠気防止説

激しい光を目に入れることにより長時間プレイ中の眠気を防ぐ

光り方のパターン催眠的な効果を持っており人間の潜在能力を通常以上に引き出す

接続不良のパーツが一目でわかる

  • 性能強化説

回路中に電気を消費できる余分な抵抗があることにより静電容量がうんたらインピーダンスがどうたらで逆に性能が上がる

  • 見た目説

それはない

2019-10-23

じゃあフンドシ姿のマッチョが出てくるポスター性的から全部禁止な!

どーする?

新日本プロレスはもうカードゲームを出すことも出来なくなるぜ?

ゲヘヘヘヘヘ!正義プロレスなんてもの時代遅れだ!これからアウトロー・ダークネスアンダーグラウンドアンタッチャブルアウトロー・インモラルインピーダンスプロフェッショナルプロレス略したアレス時代だ!俺はアレス初代曹長アレスター・アレイスター!喰らえ!ダークネスウィザードオオオオオオ!

2019-09-16

インピーダンス説明イラスト

ちっちゃい棒人間集団舞踊してる絵が貼ってあったのだけど、制作した奴の知能を本気で心配した。

2019-08-18

物価の安いフィリピンに出て、貯金で一生働かずに暮らしていきたいと思ったけど、考えたら無理だね。

フィリピン人間関係では、お金を持った人はお金の無い人にお金を与え続けなければいけなかったりする。

さもなければ孤立することになる…。

孤立は辛いよ…、ぼっちから分かるけど。

…よく考えたら、お金を与えなきゃいけないのは日本も一緒じゃね?

宝くじが当たった人に、いろんな人が金目当てでやってくるのは有名な話。

みんなお恵みが欲しいんだよね…、そして恵んでくれない人は冷たい人として疎外する。

恵んでくれなくても付き合ってくれるのは、金持ち気持ちの分かる「金持ち」なんだよね。

そんで、金持ちとの付き合いには金がかかるから孤独を癒すためにはたくさんお金を稼がなきゃいけなくなる。

たくさんのお金が手に入ったとしても、稼げる能力が無いとあんまり意味ない思うんだ、ぼっちKKOの仮説としてだけど。

から金は人間のある種のパラメータ表現した記号に過ぎないんだよね、多分だけど。

しかしたら、そのパラメータインピーダンス的なものかもしれない。

マッチング重要みたいな。

2019-03-29

東大情理システム情報学専攻の放置&雑用系人気研究室で2年間過ごして

はじめに

 ブラック企業という言葉市民権を得てしばらく経ちますね。毎年、ブラック企業大賞なるものが発表され、だれもが聞いたことのあるような企業が名を連ねます。それに対し、ブラック研究室という言葉も有名なものの、どこの研究室ブラックだとかいった情報大学内部の学生でないとなかなか知りえないものがあります。ましてや研究室の内情は所属している学生しか分かりません。

 今回は、そんな研究室の中でも異質なケースとして、自分修士課程の2年間過ごした研究室の話をみなさんに紹介したいと思い、筆を執りました。必ずしも拘束時間が長く、人格否定を行うような研究室けが悪い環境ではないということ、メディアなどでよく見かけ、有名で人気な研究室が良い環境であるとは言えないということだけでも皆さんに覚えていただきたいです。後進の方々の研究室選びの参考に少しでもなれば幸いです。

研究室運営問題点

 初めに、研究室運営面について書いていきたいと思います

 第一に、とにかく人員が不足していたというのがあります。まず、先生(教授講師)はあまり研究室にいませんでした。先生たちは予算の獲得や大学内外の事務に追われるため、多忙になります基本的助教研究員博士課程の方が下の修士学士課程の学生の面倒を見ることになります。これだけなら普通なのですが、先生が後先考えずにどんどん仕事を受けてしまうことにより、プロジェクトに対して人間が足りていない状況が常に生じます。(先生曰く「断るの苦手なんだよね~」とのこと。)その仕事研究だけではなく、各メディア取材研究室見学など多岐にわたります自分研究室に配属されて一年は、講義を受けるほかに、(詳しくは後述しますが)研究室の立ち上げ用に物を発注したり組み立てたり、見学対応をやる日々で、ほとんど研究はしなかったように思いますさらに、月一くらいの頻度で(今はだいぶ減りましたが)先生のお友達を呼んで講演兼パーティーをやる準備や、先生の思い付きで増える仕事などに日々忙殺されていました。また、インターンアルバイトといった形で外部の学生を呼んで研究してもらうこともあり、その人達雑用をする義務はなくお金をもらいながら成果を出していたのに対し、学費を払っている学生雑用に追われるといった状況もありました。事務スタッフ教授所属している社団法人経理をさせられたり、共同研究先の企業から出向(?)の形で来てた研究員の方も、後述の巨大予算運営周りの仕事をやらされたりとひどい状況でした。

 第二に、新設の研究室で、研究を行う環境づくりをゼロから始めなければいけないことがありました。これは事前からわかっていたことではありましたが、自分想像以上の大変さでした。情報系の研究室なんて机と椅子PC発注すれば、あとは個々人の研究に応じて必要ものを買い足していくだけだろうと思っていました。しかし、先生方針で、リビングラボという生活空間研究室が融合したような形態ラボ運営することが決まっていたため、それを満たすような研究室の構築に修士最初一年は消えました。なぜ一年もこのようなことをしていたのかというと、9月ごろに先生とある巨大予算を獲得し、学生スタッフを増員するとの方針キャンパスを移動することに決まったからです。一度ゼロから作り上げた研究室をもう一度ゼロから作り上げることになりました。自分としてはキャンパス移動ですら最初に聞いていた話と違うので、とても不満に思いました。通学時間10倍以上増え、それだけでも大きな負担となりました。(授業は元のキャンパスでやることがほとんどで引っ越すわけにもいきませんでした。)

 このような状態でまともに研究が回るはずもなく、助教自分所属する学科・専攻で博士までとった唯一の人)はやめてしまいました。そこから、特任研究員の方に学生指導仕事が集中します。(本来、特任研究員助教とは違い、学生指導ではなく自分研究に専念するという名目雇用されます。)そして、社会人博士の方がその有能さゆえに研究室内の仕事を一手に引き受けこなしてくれたおかげでなんとかなっていた(?)のですが、当然彼らも自分研究は進みません。

 第三に、教授講師間でうまく連携が取れていなかったようにも感じました。二人とも物事放置・後回しにしたり散発的に進んだりと、計画性とは無縁の進行でした。ミーティングでもその場の思い付きのアイデアで話を発散させるばかりで収束には向かわず学生はどうしたらいいか当惑することが多かったです.

 さらに、二人の共感性の低さも研究室内の人間関係に大きくヒビを入れていました。特に事務の方々への接し方や飲み会の席(講師は酒を飲まないので主に教授ですが)での学生に対する発言は聞くに堪えないものがありました。(詳しくは後述)

 また、学内の期限(修論題目の提出など)を過ぎてから学生に通知したりと時間・期限に非常にルーズでした。そのことを詫びる様子もなく平然としている様子も腹が立ちました。その結果、学生事務員が期限を守らない印象を外部に与えていたのではないか懸念しています

 オーサーシップ周りに関しても不満が残りました。これは自分ではないのですが、大して面倒を見てたわけでもないのに、camera readyになって急に講師が「見るからオーサーに載せろ」と主張してくることがありました。 教授ゴーストオーサー常連からかそれには強く言わず結果的に受け入れられる形となりました。学生側としては教員陣の命令に背くわけにもいきませんしね。(この話に関しては、この研究室に限らず、分野としてそういう傾向があるのかなあと思います。他研究室の話は詳しく知りませんが。)

 このように研究室としての体を全くなしておらず、自分を含め最初3人いた同期修了出来たのは自分だけで、1人が休学、1人が留年という形になりました。(もう一人修了者はいますが、別の研究室がなくなった結果移ってきた人です。)

教授人格面との不適合

 次に、研究室の主である教授性格が合わず人間として尊敬できなかったということについて話したいと思います上司と合わないということはよくあることだと思いますが、よくあることだからこそ、記しておきます

 初めに、衝動的な発言暴言が多く看過できないということがありました。衝動気質に相まって、酒癖の悪さがそれを助長していました。例えば、論文を提出できなかった学生に対して「負け犬じゃん」といったり、昔自死した学生に対して「勝手に死んだんじゃん」などといったことがありました。(なお、これらの発言学生職員に窘められ即座に撤回しましたが、そう思っていたという事実は消えないと思います)。その他にも配慮のない発言が多くありました。

 また、自己顕示欲の強さとマウンティング(いわゆるイキり)が挙げられます。「君たちは潤沢な資金のあって、待遇のいいこの研究室に来てラッキーだ」などといった身内へのイキりを聞いた時は、上で書いたような現状に疲弊していた自分感情を逆なでするのには十分でした。また、自分は偉く、自分が言ったことはどんな無茶でも通ると思っているきらいがあり、無茶な予算申請事務の人を疲弊させることが多くありました。それにあきれ果てた事務の人が次々とやめることがあり、その結果事務仕事が逼迫することもありました。怪しい予算の使い方をしていて、機構の人に怒られたみたいな話を聞きました。大学に目をつけられているのはいわずもがな。

 内弁慶というわけではなく、外部の人間に対しても自分を良く見せようとしていることが多く、鼻につくこともありました。自分にはこのような先生の在り方が、いわゆる口だけの軽薄な人間に感じられてしまいました。いい環境を作りたいとは口では言いつつも自分は何もせず下の人間が苦労したり(「然るべきとき然るべき場所」というアイバン・サザランド言葉をよく引用しますが、これが「然るべき場所」なら笑止です。)、自分は人脈のハブだといいつつスタッフをなかなか引っ張って来れなかったり(前の大学にいるときこの業界で悪評が立ち、人が来たがらないとの噂)とあきれかえることが多かったです。他にも「教育が最優先」と口では言いつつも後回しにしたり、下の人間に任せているようなことなどとにかく「口だけの人間」というイメージです。隔月で1回20分ほどの面談教育したということなのでしょうか。

 専門用語拡大解釈して援用することで知識人を気取るようなスタンスが多く見受けられたのも癪に障りました。例えば、「インピーダンスマッチング」という、高周波電気信号の伝送路において、入力と出力のインピーダンス電圧電流で割った値で直流回路では抵抗にあたります)を合わせるという意味言葉があります。この単語力学などでも用いられます(こういった多分野に共通する背景理論研究しようという思想を持っているのが我が学科・専攻です)が、これを特に理論的背景もなく「折り合いをつける」くらいの意味で使って、さも各分野に精通している感を醸し出すことに長けていました。他には「バウンダリーコンディション」とかもありますね。微分方程式で言うところの境界条件です。これを前提・条件みたいな意味で使います。(こちらについては検索すると若干引っ掛かりますが。)これらにツッコミを入れた学生は以降食事会に呼ばれなくなりました。自分に媚を売らない用済みな人間簡単に切り捨てるようです。こういった拡大解釈した単語を用いてアナロジーを使い、自分の分野に話を引き寄せるのは上手いなと感じていて、知識がない人を煙に巻いたうえで自分の得意技を披露するのは、非常に参考になると思いました。

研究分野との不適合

 3つ目に研究分野であるHCI研究(と研究コミュニティ)との不適合について書きたいと思います。これは研究室自体問題というより、自分との相性の問題ですが、研究に着手できなかった大きな要因のひとつです。

 そもそも自分はどちらかというと、巨大で合ったり高性能であったりするものを着実に組み上げていくのが好きで、アイデア勝負だったり、プロトタイピングといった手法だったりが受け付けなかったというのがあります(同じような人のエントリ https://swimath2.hatenablog.com/entry/2018/07/30/205255)。

 また、この研究分野は、一見役立たなさそうなおもちゃのようなものに、理屈をこねくり回して正当化させるのが多いように感じ(もちろんすべての研究がそうというわけではありません)、興ざめししまったのも要因の一つです。元々内向的性格なのもあって、自我意識などに興味があり、ならば「人に興味があるということであり、工学的なアプローチで人の研究をやれるのはこの分野だろう」という薄い理由で選んだのもあって、この不適合はモチベーションに意外と大きく関わりました。学部時代の成績は良い方で(必要進振り点はそこそこの学科でしたが、コース内ではトップクラスと周りには言われていました)院試第一希望で通りましたが、勉強ができるということが研究できるというわけではないという言葉を痛感しました。ただ、この研究室を選ばなければ、自分ももっと研究が出来ていたのではないかと思い、研究室選択毎日後悔しています

なぜ回避できなかったのか?

 それではなぜ、このような大きな問題点が数多く存在しながら、この研究室に進学してしまったのでしょうか?

 第一に、自分所属していた学科は、院試卒論研究室配属より前に存在し(実質4か月で卒論を書かないといけないのです)、自分研究および研究室への適性がいまいちからないまま、修士で進学する研究室を決めなければいけないという点が挙げられます。(一応研究室に配属されてプチ研究のようなことをするのですが、研究室生活とは程遠いので参考にするのは難しいです) それに加え、卒論研究室修論研究室別にするという慣習があり、卒論配属後合わないから冬入試を受けようというのも難しいです。

 第二に、サークルの先輩(同じ研究室ではないです)にこの研究室を勧められたというのがありますサークル飲み会の時に、同じ分野で研究をしている先輩に、「この研究室はいいところだし、一期生として面倒を見てくれる」と勧められたというのがありました。当時は若く、盲目的に先輩の話を信じてしまいました。悪い噂が流れてこないなら大丈夫だろうと。それに先生記事ネット上で見たこともあり、先生研究科学雑誌を通して知っていたこともありました。学科内でも新設の研究室に関わらず人気があり、これは安パイだろうと考えていました。今考えると人気・有名だから自分にとっていい環境だろうと考えるとは愚かなことです。(ちなみに、この先輩はD取得後うちの研究室内定を蹴り、他の研究室ポストに就くそうです。)

 第三に、一番重要ともいえる点ですが、上でも書いた通り自分大学では新設の研究室で、情報が流れてこなかったというのがあります。今思えば前の大学OBの方などに話を伺うなどをすればよかったとも思いますが、学部勉強サークルに追われていてそこまで気が回らなかったし、回っていたとしてもする余裕まであったかわかりません。しかしながら、新設の研究室に進学するというのは大きなリスクはらんでいるということはもっとしっかりと自覚するべきでした。これを読んでいる方でもし新設の研究室に行くという人がいれば、もう一度自分選択をよく考え直してほしいです。

最後

 ブラック研究室といえば、拘束時間が長いとか日常的な人格否定などがやり玉に挙げられやすいですが、最近では放置ブラックなどという言葉も耳にする通り、劣悪な環境というのは色々な形で存在しています。また、他人にとっての良い環境自分にとっても良いとは限りません。トルストイ著作に「幸せ家族はどれもみな同じようにみえるが、不幸な家族にはそれぞれの不幸の形がある」(望月哲男訳、光文社古典新訳文庫)との言葉を残しています研究室も一つのさなコミュニティであり、同じことが言えるのではないでしょうか。これから研究室に配属される人には慎重に自分の進路を考えていただきたいと思います。このエントリを通して構成員がみんな幸せになるような運営に変わってくれると嬉しいです。

 文字数制限に引っかかってしまったのでコメント追記します。長文で申し訳ないです。

ログイン ユーザー登録
ようこそ ゲスト さん