ELECOMのTK-FBP013を購入しました。
無線キーボードはこれで3台目です。^_^;
ちょっと小さ過ぎたかもしれません。
しかし、キーボードの幅が小さいと首が楽なのです。
両手を突っ張る様な姿勢になるので頭が前かがみになれないからです。
また、マウスがキーボードに近くなって右腕の脇を閉められるのも楽です。
左手マウスのときは右手型手打ちになりますがキーの間隔が狭いので
打ちやすいです。
現場ではノートPCですがこのキーボードを使うつもりです。
かわいくて気に入っています。
カテゴリーアーカイブ: 未分類
C#からEXCELファイルを読み書き
以前にC#などの.netアプリケーションからEXCELファイルの読み書きを行う方法として、Open XML SDKというマイクロソフトが公開しているライブラリについて記載しました。http://www.infortec.co.jp/blog/archives/Item_453
今回、ある案件でEXCELファイルを保存する処理が必要になったためOpen XML SDKを使用してみました。が、とても分かりにくい!使いにくい!
どうもEXCELのファイル形式であるOpen XMLに対する低レベルな実装しか無いようで、なんとも泥臭い。自分でラッパーを作れば使い物になるかも知れないが、そんな時間は無い。
しかたがないので、いつものようにEXCELをCOM参照して開発しようかと思ったが、ネットで調べると、EPPlusというライブラリを発見。
試して見ると、とても使いやすい。雰囲気的には今までのEXCELのCOMオブジェクトを正しく進化させ.netで扱いやすくした感じ。 すばらしい。
[2014.10.22 追記]
残念ながらEPPlusの使用は断念しました。
理由は、EXCEL COMオブジェクトの全機能をカバー出来ておらず、実現出来ない 機能があるからです。
出来なかったのはグラフのデータ系列の色・太さ・マーカ等の変更、グラフの目盛線の表示有無の変更など。
単に自分が探しきれなかったからかも知れませんが、 EXCELであれば、「マクロの記録」を使用すれば必要な機能にたどり着けるので、探す手間も全然違います。
結局は、マイクロソフトが.netで扱いやすいEXCEL制御クラスを用意してくれれば解決する話。なんとかならないのかな~。
頸椎症
頸椎症性神経根症という病気になってしましました。
パソコンに向かう姿勢の悪さが原因です。
そして、加齢も加わっていると言われました。ガックリです。
1週間、整形外科に通って首の牽引とマッサージを行った結果、かなり症状が改善しました。
また、仕事中も姿勢に気を付けるようになしました。
早めの治療が大事です。みなさん、お気を付け下さい。
ios8
こんにちはmtjです。
以前記載したwin9ですが実際は10でした。
9ではなく10の理由はどうやらOS判定のプログラムなどで先頭一致の9で判定
しているので、それの誤動作を避けるためと噂があります。
(Win95,Win98など)
さて自分のiphoneも今までIOSを上げて問題がなかったことから油断して
OSを上げてしまいました。
ios8です、何も変わったように感じません。
実際は8.2ですがなぜか4G通信がつまりやすくなったのと
Wifiが時々不安定という悲しい状態。
調べてみると、softbankのiphone5sで発生しているよう。
運が悪かったと思ってOSの更新待ちです。
これからは最新にするときは情報を調べてから行おうと思います。
プログラマブルテンキー
最近プログラマブルテンキー(NT-19UH2BK)が気になってます。
全てのキーを割り付け可能なので、よく使うショートカットキーやホームポジションから遠いキー などを割り付けておいたら開発が楽になるかも?
GX-Works3
先日、iQ-RシリーズとGX-Works3の製品説明会に出席しました。
iQ-RシリーズはマルチCPUを前提とした完全同期リンクなどM社らしいものでした。
それに比べてGX-Works3は今一つ・・・というよりも逆に使いにくいものになっていました。
構造化ラダーに対応するためのようですが一つの画面で複数の言語をカバーするのはさすがにムリがあるように思えました。
機能が増えたハードをソフトで使いやすくしている例としてスマートフォンがあります。
なにもかも画面に表示するのではなく、必要な時に必要なものを表示する方法を取り入れて欲しいと思います。
Win9
さてWin8.1出てしばらくたちました。
タッチパネル使用者、デスクトップ使用者より色々な評判はあります。
個人的にはすごい使いにくいです。
今までスタートメニューに時々使うプログラムを入れておけばいざというときつかえたものが
現状検索機能で名前を知っていないと探しにくい状況です。
そしてWin9ではスタート画面が復活するそうです。
個人的にこれ以外いりません。
未だに自分のデスクトップはガジェットとかと無縁な状態のまっさらなXP状態です。
スタートメニューが復活するという機能だけでも注目のWindows9でした。
スレッドセーフなコレクション
2つのスレッドで1つのコレクションを操作することが良くあります。
たとえば、1つのスレッドで測定値をコレクションに追加し続ける。
もう1つのスレッドでコレクションから測定値を取り出し、画面表示したり、ファイル保存したり。
C#のList<T>などのコレクションクラスはスレッドセーフではないので、
複数スレッドで操作する場合、操作する前にLockを行います。
しかし、Lockをするのはいちいち面倒ですし、間違ってLockせずに使用する不安もあります。
.Net3.0からはSynchronizedCollectionクラスなどスレッドセーフなコレクションが追加されています。
このコレクションを使用すると、AddやRemoveなどの単独操作はスレッドセーフになります。
しかし、ForEachなどの複合操作はスレッドセーフになりません。ですので不安が残ります。
結局、SynchronizedCollectionを内包し、スレッドセーフな操作しか行えないクラスを作成するのが一番良いかと考えています。
実装可能な操作はかなり限定されます。
AddかEnqueue、Clear、DequeueAll(全ての要素を取得してクリアする)、ToList、Count
こんなところでしょうか。
キューの操作しかできないので、クラス名はThreadSafeQueueにします。
スレッド間での複数要素の受け渡し用と割り切れば、役に立つのではないかと思います。
なお、List<T>のようにインデックスによる取得操作は実装できません。
指定したインデックスの要素が別のスレッドでRemoveされている可能性があります。
Dequeueも実装できません。
Dequeueした時には要素が1つも無い可能性があります。
TryGetやTryDequeueにして取得できたがどうかも戻せば良いかも知れません。
割込みユニット(2)
M社の割込みユニットは入力ユニットとして使用できます。
M社に問い合わせたときは「使用できません」と言われました。
ユニットが届いたので実際にやってみたら普通にXデバイスとして使えました。
再度、問い合わせるとやはり「使用できません」と言われました。
実際にXデバイスとして使えている事を伝えると「調べてから連絡します」と言われました。
しばらくすると「接点としてお使いいただけます」という返答がありました。
M社にしては珍しく、問合せに対する回答の精度が低いのは割込みユニットを使う人が少ないという事でしょうか?
QI60は16点入力ですが信号の立ち上りか立下りのいずれかしか選択できません。なので立ち上りと立下りの両方で割込みするときは半分の8点になってしまします。
K社のCPUに付属している10点の外部入力は割込みとして使えます。
しかも、1入力について動作条件を3種類選択できます。
このあたりは割込みユニットを使った人の経験が反映されていると感じました。
スマートフォン
最近Iphone6が発表されましたね。
日本ではほぼ0円で買えるIphoneも実際に買えば10万近くします。
この辺りは日本のほうがお得に見える。ただ通信料で考えると
2年縛りで通信料が約4000¥=9万ということですね。
まあ、最初やすく見えるだけで分割払いしてるようなものですね。
自分はSimFreeには賛成です。
そのほうが色々な機種が出たりベンチャーも挑戦しやすくなったり
安さなど様々なものを売りにした商品で賑わうのではないかなって思ったり。
自分は不便に思わなければ携帯は買い替えないので毎月5000¥は
痛いです。
実際2年以上使うと損に思えるこの戦略、なかなかやりますね