wrongwrongな開発日記

情報系大学生が挑戦したことや日常を書いていきます

【Googleスプレッドシート】範囲から条件付きで値を取得する

タイトル通り、条件を満たさない値を除外して取得する方法です。
A1からZ2の範囲で、1より大きい値を取得する例が以下。

=FILTER(A1:Z2,A1:Z2>1)

条件は沢山指定することも可能です。
support.google.com

取得できるのは範囲であるため、関数にも入れられます。

=AVERAGE(FILTER(A1:Z2,A1:Z2>1))

【Android】Android StudioをアップデートしてからPlease select Android SDKが出た時の対処

Android Studioを3.0にアップデートしてから、それまで問題の無かったプロジェクトでPlease select Android SDKと出て実行ができなくなりましたが、以下の2手順で動きました。

1. SDKの確認

メニューバーから[Tools] > [Android] > SDK Platformsタブを開き、必要なSDKがインストールされているかを確認します。
自分は更新で必要なSDKがインストールされていない状態になっていました。

2. build.gradleのsync

この変更はgradleのsyncを行わなければ反映されないようです。
自分は手っ取り早くapp/build.gradleを書き換えました。

【自作PC】Mini-ITXマザーを考える【書いたら出る?】

自作PCの個人的な自慢話として、書いたアイデアが実現したというのが有ります。

ASUSのAPEXシリーズのマザーで採用されている、メモリーとM.2 SSDを1基のメモリークーラーで冷却するというアイデア、Skylakeが出た時に2chに書き込んでました。

www.asus.com

Mini-ITXマザーについても、アイデアを書けばいつか出るんじゃね?ということで、日記として残します。

目次

現状のITXマザーへの不満

現状のITXマザーについて不満に思っていたり、自分が購入する時に重視するのは、以下の3点です。

  • トップフロークーラーを使う際に干渉しやすい/後から触り辛い配置のケーブルの端子が多く有る
  • 電源フェーズ数
  • USB2.0等、必要になる事があるのに削除されてしまった端子がある

言い出すとキリが無いんですが、取り敢えずこの辺が不満に感じる原因は全て、マザーの表面積が小さいことが原因ですよね。

改善案

という訳で改善案。

PCIeの2スロット目まで使う形で基盤おっきくしましょう!

おっきければ端子もちょっとは余裕できるだろうからね。

意見の根拠

この意見で欠点となるのは、以下の3点でしょうか。

  1. 規格から外れる
  2. 開発費が高くなる
  3. ケーブルがケースと干渉する

これらの解決策を書きます。

1. 規格から外れる

この点は無視でいいと思います。

というのも、こういった尖った製品を欲する人間は、大体が2スロット以上専有するグラボを使うでしょうし、ケースの方も、マザーのサイズとして増加部分に干渉するような形のものは少ないと思います。

2. 開発費が高くなる

この点は、正直どうしようもないと思います。

こういった特殊な形状で設計しするには、今までの設計の使い回しが難しくなったり、端子を増やしたりで、確実に高級マザー化するでしょう。

ハイエンドITX系は、最近ではASRockのX299な変態位しか出てないので、一応需要は考えられる……といいなあ。

書いたら出るはずなので次にいきます。

3. ケーブルとケースが干渉する

例えばマザーを上から見て、下方向に端子を出してしまうと、ケースとの干渉確率は確実に増大します。

一方で高さ方向に出すと、今度はグラボが干渉します。

これを避けようと思うと、以下の3点以外に対策方法は無いでしょう。

  • 使用率の低そうな端子は割り切って実装する
  • 縦に置いても大丈夫な端子のみ実装する
  • 左右方向に端子を出す

ATXマザーなんかの最下段なんかを見ていると、案外干渉は小さいんじゃね?なんて思ったりもしますが、キッチキチなケースも多いITXでは一応気にすべきでしょうね。

 自分なら、こんなマザーを作る!

 提案はここまでとして、ここからは自分ならこんなマザーを作る!という妄想をまとめます。

書くのは主に端子についてです。

底辺側

増加させた側です。

・オーディオ関連

オーディオのコンデンサがバックパネル側まで侵食してるデザイン、超キライなんですよね。

下方向に伸びれば、まずオーディオ関連の実装の余裕は生まれるでしょう。

バックパネル側はインターフェースをちゃんと増やしてほしいなと思います。

USB2.0端子

これ、最近になってLEDコントローラーやらで案外要求される場面が有るんですが、ITXマザーからはかなり消えがちな端子だと思います。

 ・ケースファン/センサー等冷却関連端子

必要になる部分も多く、まあ実装して損は無いと言っていいでしょう。

この端子は、ケーブルが細いことも多いので、楽に実装できそうです。

・システムパネル/ビープスピーカーコネクター

この端子、正直言って邪魔端子筆頭だと思います。

貴重な右側のコネクタ類のスペースを食いつぶして……。

独自端子なりでもうちょい纏めて、ケーブルを介してケースやらと接続する形にすればいいのにといつも思います。

右側

システムパネル/ビープスピーカーコネクターは底辺側に行っている前提で書きます。

・ATX20+4ピン/EPS8ピン

ASUS MAXIMUS VIII IMPACTを参考に、電源ケーブルは右に寄せてまとめます。

こちらの方が、アクリルケースでの見栄がいいと思うんですよね。

後、上底側にEPS8ピンを置くデザインは、VRMの実装や冷却に多少障りそうでキライです。

CMOSクリアスイッチ

CMOSクリアスイッチはバックパネルのみか、バックパネル+押しやすい場所にして欲しいです。

以前ケース内で触ろうとしてリセットまで物凄く苦労しました。

 バックパネル/上底側/その他

端子というよりは、VRMの冷却を重視してほしいなと結構思います。

VRMに熱問題抱えるマザーが増えがちな印象を受けるので……。

デザイン的にも冷却的にも、バックパネルのインターフェースを金属カバーなりで覆って、VRMヒートシンクと接続するとか、いっそ一体化する位でいいと思います。

冷却ファンなどの端子は書いていませんが、後は適当に散らせば良さげに収まると思います。

終わりに

最近はGigabyteマザーに興味が有るので、Gigabyteが出してくれないかなー、とか。

後、デザイナーさんがガリガリ攻めてるASUS辺りが出してくれないかなー、とか。

そんな感じです。

書いたから出て欲しい。

【自作PC】RGB LED ライティング同期制御早見(2017年11月)

最近のPCパーツではRGB LED ライティング同期制御が流行っていますが、制御ソフトやその対応は入り乱れ、カオスな状況になっています。
完全同期制御を行う場合、マザーボードメーカーが公開している資料を読むことで対応製品を揃えることは可能ですが、サイトによっては見辛さを感じたので、この記事でRGB LED ライティングの同期制御に必要な条件等をまとめました。

同期制御のための製品選び早見表

RGB LED ライティングで使用されるパーツは、大まかに以下の4種類に分類できます。
これらの制御には、前提として、マザーボードが制御ソフトに対応している必要があります。
古い世代のマザーボードでは、制御ソフトが対応していない可能性も有ります。

製品 選び方
汎用4ピンヘッダ対応品 特に考える必要なし
マザー上にピンが実装されていない場合、追加パーツで対応可能
特殊なピンの製品 その製品を制御するための機器がマザーの制御ソフトに対応していなければ同期制御できない
規格によって変換ケーブルの購入/自作で対応できるケース有り
グラフィックボード マザーボードと同一メーカーのものでなければ同期制御できない
モリー マザーボードごとに対応の可否が有る
対応は各社とも広がりつつあるが、購入時点でページに記載のあるものを選ぶのが吉
ASUS/Gigabyte/MSIのライティングに関する公式ページ

www.asus.com

www.gigabyte.com

jp.msi.com

パーツ毎同期制御方法詳細

パーツごとに同期制御に必要な条件を詳細に書きます。

汎用4ピンヘッダ対応製品

マザーに4ピンヘッダが有る場合、特に意識すること無く同期制御が可能です。
RBG LED搭載ケースファン等の多くは汎用4ピンヘッダを用いています。
マザーボードによっては、RGB LED ライティング同期制御への対応を謳いながら、基板上に4ピンヘッダが無い場合が有るので、注意が必要です。

特殊なピンの製品

CORSAIR DOMINATOR Airflow PLATINUM等、一部の製品では特殊なピン構成を採用している場合があります。
この場合変換ケーブルを噛ませる、制御ソフトから色の対応を変更する(ソフトごとに可能かは未調査)、専用機器に接続するなどの方法で同期制御可能です(専用機器に接続する場合、その機器が同期制御に対応していなければ同期制御不可)。
下記の記事のように、ピンアサインに合わせて変換ケーブルを作成することで、一応は同期制御が可能です。
LEDイルミ搭載メモリクーラー「CORSAIR DOMINATOR Airflow PLATINUM」をレビュー。ASUS AURA Syncで同期操作 【追記】変換ケーブルの作り方 : 自作とゲームと趣味の日々

また、最近になって流行の兆しを見せるアドレッサブル制御可能な製品では規格が定まりきっておらず、独自の端子を持つ場合が多い印象を受けます。

グラフィックボード

マザーボードとメーカーを合わせることで制御が可能です。
グラフィックボード単体では、各社から制御ソフトウェアが配布されているので、それによって個別の制御は可能です。 マザーボードと別メーカーのグラフィックボードは、記事の執筆時点では制御が不可能な状況です。

モリー

各社マザーボードごとに制御可能な製品が異なります。
対応状況に関しては自分がまとめた記事が有りますが、マザーボードメーカーのページを確認するのが最も確実な手段です。

wrongwrong163377.hatenablog.com

GeIL EVO Xシリーズに関しては、外部端子の汎用4ピンヘッダによる制御であるため、例外的に各社マザーボードでの同期制御が可能です。

youtu.be

モリー単体では、メーカーから制御ソフトウェアが出ている場合があり、この場合はメモリー単体でのRGB LED ライティング制御は可能です。

【Android】OpenGL ESでシェーダーを書いて、何も問題無い(ように見える)のに動かないコードが出た時のこと

AndroidOpenGL ESのプログラマブルシェーダーを書いた時、何も問題が無いように見えるのに動かないコードが出た時のことを2つ書きます。
症状は以下の2つ。

  1. エラーも出ない、アプリが落ちることもない、ただ描画がされない
  2. 問題無いはずのシェーダーがコンパイルに失敗しアプリが落ちる
1

1の問題は、MainActivityでシェーダーを選択し、シェーダー(String)をintentを介して描画Activityに渡し、描画を行おうとした際に発生しました。
Logcatには特に表示がなく、戻るボタンで元のアクティビティに戻ることもでき、描画だけが出来ないという状態でした。
この問題は、しっかりと確認していませんが、大規模なシェーダーを別Activityに渡す形で利用すると発生するようです。
シェーダー本体はintentで渡さないようにした所解決しました。

2

2の問題は、以下のようなコードで発生しました。

float hoge(float input){
  :
  :
  :
}

この問題は、引数に使っているinputという語が予約語だったことが問題でした。 その他予約語は以下等で確認できます。
qiita.com

終わりに

完全に独学で始めているせいでOpenGL ESに関する知識が足りなくて辛いです。

ウニガチャ

1日1回、ウニガチャの記録。

N

 

R

 

SR

 

ぼくのかんがえた最高の自作PC2017年10月版

wrongwrong163377.hatenablog.com

第二回です。

完成させたピックアップリストが事故って吹き飛んだので、こちらに書きます。

面倒なので、書くのは主要なパーツだけにします。

コンセプト

A4-SFXでお馴染みDAN Casesが開発中のPCケース、C4-SFXを採用し、240mmラジェーターを採用した簡易水冷GPUを組み込んだITXです。

勿論ビジュアルには気を使い、RGB ライティングにも気を使って考えます。

ケース "C4-SFX"

hardforum.com

今回のメインパーツその1です。

このケースの特徴は、240mmラジェーターを搭載可能なかなりコンパクトのケースという点でしょう。 上下を入れ替えることも可能みたいなので、ラジェーターが上側に来るように置くつもりです。

主要な容積スペックは以下の通りです。

  • SFX/SFX-L電源搭載可能
  • 最大CPUクーラー高60mm
  • 2スロット、295mmまでのGPU*1
  • 240mmラジェーター搭載可能、ラジェーター+ファンは最大55mm

GPU "(iGame GTX1080Ti Neptune W)"

www.links.co.jp

Colorfulの240mm簡易水冷グラボです。

RGB制御的な意味で、特に簡易水冷グラボのセンスが好みのGigabyteに240mm簡易水冷具グラボを出して欲しいんですが、GigabyteASUSMSIはどこも今の所240mm簡易水冷グラボを出す気配が無いです。 残念。

スペックを見ていて気付いたんですが、ラジェーター+ファンが57mmで許容量をオーバーしてる臭いという……。

後述しますが、ライティング用のファングリルも入れたいので、実際どれだけ入れられるのか気になりますね。

ラジェーター用ファン "SC120RGB"

www.xigmatek.com

内側を通して、サイドパネルから漏れる光が欲しいので、RGBファンの搭載を考えました。

そこで見つけたのがこのファンです。 自分の知る限り、RGBファンとしては最も高静圧で、回転数・dBが低い良質なファンに見えます。 というかRGB抜きにしてもラジェーター向けとしてかなり優秀。

ラジェーターの冷却には良さ気なのでチョイスしました。

 ファングリル "FG121"

www.amazon.co.jp

前回に引き続きファングリルとしてFG121を選択しました。

こちらはケースの上部に配置し、上から光を出す機能を担ってもらうつもりです。

ただ厚さが6mmあるため、ラジ+ファン+FG121というのは入りきるかかなり微妙ですね。

マザーボード "Z370N WIFI

www.gigabyte.jp

Gigabyteの簡易水冷グラボへの期待を込めて、仮置きですがこれを選びました。

一応M.2が表にあって、ヒートシンクがついてる辺りは好みです。

ただ、ASUS300系チップセットマザーの方がデザインもライティングも好みなんですよね……。

というかZ370ではZ270N Gaming 5みたいなマザーは出ないのかな?

CPUクーラー "風神スリム"

apac.coolermaster.com

最大CPUクーラー高が60mmということで、kakakuに載っている製品ではこれが最良だと思います。

一応TDW95W位までは普通に冷やせそうですが、窒息気味の環境になることも含め、組むならCPU殻割りするつもりで居ます。

が、もうチョットいいCPUクーラー無いもんかなあと……ヒートパイプダイレクトタッチが嫌だ……。

後気になるのがメモリとの干渉ですね。 光るメモリを採用したいんですが、ヒートシンク高が高すぎると確実に干渉しそうです。 調べた限り、これを採用するなら、今の所Kingston HyperX RGBしか可能性が無いように見えます。

CPUクーラー用ファン "XT-140"

www.amazon.co.jp

正直効果は薄い気がしますが、120mm穴固定の140mmの薄型ラウンドフレームファンであれば、静音化と風量増が期待できます。

ただ、ヒートシンクの外までファンがはみ出る関係で、CPUの冷却にどこまで影響が有るかは何とも言えません。

一応書きましたが、採用はしないかな……。

まとめ

今回はC4-SFXに合わせたパーツ選びを書きました。

空冷でロープロファイルとなると、碌なCPUクーラーが有りませんね(暴言)。

ただ、コンパクトさを追求するとどうしてもCPUクーラーに皺寄せが来るのも理解できるのでモニュります。

殻割りした8700K程度であれば、多少OCしても風神スリムで冷やせる……といいなあ。

C4-SFXは未発売の製品なので、多少性能は変わるでしょうから、それに期待ですかね。

*1:サイトの画像を見ると、ASUSのMATRIX-GTX980-P-4GD5が積まれているように見える。 これのサイズは297 mm×152 mm