別の人を使うという事。

mtjです。

自分はSEなので人を使ったり使われたりする立場ではあります。

人を使って色々する場合はもちろん効率が重視されます。
プログラム業務での効率はほぼ役割分担です、難易度の高い部分(外部システムとつなぐだったり、WindowsForm的に難しい
スレッド間操作で気にすることが多い、全体のシステム構成を知らないと結合等できないようなとこ)
簡単な部分を割り振っていきます、基本は自分が全体の構造の設計、テストを行う事になります。

上記の事をしていると基本的には他人のソースをチェックして作りが問題ないか、テストが問題なく作られているか等の確認作業が主なので難しい部分ばかりが自分にきてしまいます。

これらを行っていると物が完成した時の達成感が薄くなってしまいます。
一人で行っていた場合は設計し、設計通り動き、テスト等で度々上手くできたとの実感がわきます、これが最近は人を使う事が多いので少なくなっている気がします。

上記で思う事はシステム開発で上の管理する側の人間はあまり開発者としての達成感という物がないのではないかと思います。
もちろん作る部分によってはつまらない部分もありますが全て自分一人で作っていた方がやりがいがあった気がします。
小規模のシステムでもこのように感じるとういう事は、大規模のシステムを作っている総まとめ(プロマネ等)はどのような気持ちで行っているか気になるとこではあります。
毎日何十もの機能の確認、テスト等を行い完成まで持ち込むのはかなり根気がいる作業だと思います。

そういう管理することが好きな人もいるので案外達成感があるのかもしれませんね。
自分はわからないことがあったら調べて自分で作って解決していくほうが好きなのであまり向いていない気がしました。

Windowsのネットワーク接続の設定

1ヶ月位前からWindowsタブレットのバッテリ消費が早いので何かおかしいと思っていたが原因が判明。

以下のネットワーク接続の設定が「なし」になっているのを「常時」に変更することで改善。
間違って変えてしまったのかWindowsアップデートで変わったのか分からないですが、一安心です。

それにしても、「なし」と「常時」の意味がわかりにくい。
なし:スリープ時のネットワーク切断を行わない。
常時:スリープ時のネットワーク切断を常に行う。
もうひとつ「Windowsで管理」という項目もあり、Windowsがなんかうまく制御してくれるものと思われます。

2017から2018へ

みなさま、あけましておめでとうございます。
(私はとうとう5回目の年男になってしまいました)

昨年は110日の出張があり、その内48日が海外でした。
初めての国で初めてのダウン(発熱)もありました。
その時は国内外のスタッフの方々に親切にしていただいて
とても感激しました。
そして言ってくれました。「あなたは最重要人物だから」
私は思いました。「死んでもやったる!」
「制御」という仕事であっても我々は「人と仕事をしてい
るんだ」という思いが溢れました。
今年はそんな思いを大切にしながら「制御」という仕事で
人と繋がっていけたら思います。

年末

mgcです。

気づけば残り3日ほどで1年が終わりますが
大掃除等はお済でしょうか?

毎年この時期には家のエアコンをすべて掃除するのですが
さすがに一年間使用していたエアコンの中は埃とカビだらけで
エアコンの掃除だけで1日かかってしまいますが
この掃除をしないと1年が終わった気がしないのです。

皆様にも何かしないと
1年が終わった気がしないということがありますでしょうか?
今年中にしておきたいことを済ませて
良い年越しにしていただきたいと思います。

それでは次回は2018年になっておりますが
2018年も宜しくお願い致します。

良いお年をお過ごしください。

トラックボール

こんにちはmtjです。

現在トラックボールを使っています。

マウスはマウス本体を動かすことでポインタを動かします
トラックボールは本体にボールがついておりそれを転がすことでカーソルを動かします。

最初は慣れが必要ですが慣れてくるとかなり使いやすいと思います。
自分はマウスでは画面全体をマウスを浮かすことなく移動できるようにしているのであまり気にはしませんが
何回もマウスを上げてマウスパッドの真ん中に戻してをするより指を何回か転がすだけで移動できるトラックボールのほうが
良いのではないかと思います。

特にマウスパッド等が必要ないのが利点で狭い場所でも操作しやすいのが利点ですね
手首の負担が少ないは聞きますが自分は上記で記載した通りそもそも手首に負荷のかかる感度ではないので
個人的にはボールを転がしている感覚が好きなので使っている感じです。

また親指でボールを動かすタイプより中指等で転がすタイプがおすすめです。

C#のタプルと分解

C#7で追加されたタプルのフィールドを分解する構文について、タプル専用の機能ではなくユーザ定義の型でも分解が行えると知ったので試してみました。

タプルのフィールドを分解する構文は以下のようになります。


var t = (Value1: 2, Value2: 3D);
var(v1, v2) = t;

1行目で2つのフィールドを保持するタプル変数tを作成し、
2行目で変数tのフィールドをv1とv2に分解しています。

これだけでは意味が無いですが、メソッドの戻り値はタプルで返し、
メソッド実行側はすぐに分解して使用したい場合などに役立ちます。

上記の分解と同様のことを行うには、クラスや構造体にDeconstructメソッドを実装します。拡張メソッドでもOKです。
KeyValuePair構造体のDeconstruct拡張メソッド実装例は以下のようになります。


public static void Deconstruct<TKey, TValue>(this KeyValuePair<TKey, TValue> pair, out TKey key, out TValue value) {
    key = pair.Key;
    value = pair.Value;
}

例えば、Dictionaryの各要素をforeachで処理する場合、今まであれば以下のようになります。


var dic = new Dictionary<string, int>();
foreach (var pair in dic) {
    Console.WriteLine(pair.Key + "=" + pair.Value);
}

Deconstruct拡張メソッドを実装して分解が行えるようになると、以下のような実装が可能になります。


var dic = new Dictionary<string, int>();
foreach (var (name, score) in dic) {
    Console.WriteLine(name + "=" + score);
}

変数pairを使用する必要がなくなり、pair.Keyとpair.Valueではなく、本来のフィールドの意味を表す変数名を名付けて利用できるようになりました。

 

永世7冠

羽生善治さんが47歳で永世7冠を手にしました。
以前、テレビで「やはり加齢とともに思考の瞬発力が衰えます」と言っていました。
まるでスポーツ選手の言葉のように聞こえます。
私は将棋のことはまったく分かりませんが、対戦した人は「常に新しい将棋を指してくる」
と言っています。
やはり特別な人だとは思うのですが私たちが想像出来ないような努力をしているはずです。
この後、この人の目標は何なのでしょうか。

物忘れ

mgcです。

約20年ぶりに行方不明になっていた車と再会したという
ニュースに目を惹かれたのですが、
これはドイツで起きた話なようで
20年前にショッピングモールに駐車した車の
駐車位置を忘れてしまい20年後に再開したのだとか、、
確かに駐車位置を忘れることはありますが
20年間見つからないのには驚きました。
さらにその車は20年間そのショッピングモールに駐車されていたのだとか。

今では時代が変わり駐車した位置がGPSで確認できるようになっていますが
ほんとうに便利な時代になったものです。

マルチGPU

こんにちはmtjです

マルチGPUを使用して半年以上経ちまして大体結果が見えてきました。
結果として普通のゲームをする人向けにはあまり向かないという結論でしょうか。

今回の自分の場合はradeon rx480を2つ付けていたのですが
最適化されていないソフト(マルチGPUに対して)では1つのGPUのみ動くので性能が発揮されず勿体ないという事が分かりました。

rx480×2の意図はミドルGPUを2つ付けて ハイエンドGPUと同等の性能を出そうと目論んでいたので見事に失敗しました。

これがGTX1080×2だったらまた別の話ですが、それでも性能が2倍になるわけではないので本当にマイニング、エンコーディング等向けではないでしょうか。

というわけでゲームをする、動画を見る人はGPUを1つで良いのを買いましょうということです、今回は良い勉強になりました。

Visual Studio 2017 がフリーズ

先週くらいからVisual Studio 2017 が良くフリーズして再起動するようになり困っていました。

最近の環境変更で考えられるのは、Version15.4.3になったことと、Xamarin関係をインストールしたこと。

Visual Studio自体や拡張機能の更新も全て行っており、問題はないはず。

なんとなくReSharperが怪しいのではと思い、JetBreinsのサイトを見てみると、現在使用しているのよりも新しいReShaperがある。拡張機能の更新プログラムに何故表示されないのかは分からないが、ダウンロードしてインストールしてみると、フリーズがなくなったみたい。とりあえずは解決です。