非効率も効率

筆者のパソコン関連や効率化についての考察と雑談

同じ部署の同じ略称でエラーで、もやっと

客先の部署内で運用している小規模なシステムでエラーが発生した。

どうも、人員データのソート時のキー重複エラーらしい。

稼働して1年以上経って発生したので、何故今頃?といった感想だった。

 

調査すると、組織マスターに以下のようなデータがあった。

(ブログ用に構造を簡略化している)

所属部署ID グループID 名称 略称 ヨミガナ(ソート用)
1 100 田中1G 田中G タナカグループ
1 101 田中2G 田中G タナカグループ

 

どちらの田中Gも、同じ部署に所属しているが略称、ヨミガナは同じ。

マスターはユーザーが登録する運用なのだが、最近になって登録された為、潜在的な不具合が表に出てきていた。

 

システム不具合に分類されるであろう事は理解できるのだが、もやっとする。

同じ略称だと画面とか帳票で区別付かないと思うのだが。

<p?だが、ユーザー側から見れば、マスターに登録できるので問題ないはずなのだ。

今回はマスターの略称とヨミガナの末尾に数字を入れる事と、プログラム改修でグループIDをソートキーに含めて対応した。

 

再発防止を考慮すると、マスター登録時に略称重複チェックまで入れると事も検討しないといけない。

がしかし、予算工数も限られているわけで、発生頻度も少ないし、運用でカバーもできるので優先順位は下げざるをえない。

 

とはいえ、不具合が発生しえるデータは入口で止めた方が、全体的に見れば運用コストが下がるし、ユーザーもストレスが減る。

また、これが人員マスター(氏名は変更できない)だったら?とか、もっと組織規模が大きくなった場合は?とか、

社外に公開するような不特定多数のユーザーが利用するシステムだった場合は?とか考えると、

真面目に考察すると中々に奥が深い(細かい対応が必要で面倒そうな)案件だと思う。

スマホデビュー

使っていたAQUOS ケータイ2のバッテリーが持たなくなってきたので、遂にスマホデビューしました。
現在でも、iPad(Wifiのみ)は使っているので、スマホアプリはデビュー済ですが。

 

機種は京セラのAndroid One S9です。
https://www.kyocera.co.jp/prdct/telecom/consumer/lineup/s9/

 

キャリアはDDIポケット時代からずっと使っているYモバイル。
手続きは全てオンラインでやりましたが、手続きした翌日に端末届いたのは驚きました。
SIMカードが小さくて薄いですね。時代の進歩を感じます。


機種は概ね以下の基準で選びました。

 

・OSがAndroid

    職業的(SE)に1つぐらいはAndroid端末を持っていたかった。

 

・5G対応

    まだまだエリアは広くないですが、次に買い替える時は6Gとかになりそうだったので。

 

・古すぎない

    OSのアップデートもしないといけないので。
    まあ、たまたま見た時にあった最新機種に飛びついたわけですが。

 

・あまり大きくない

    胸ポケットに入れたい。
    とはいえ、折り畳めたAQUOS ケータイ2超えは難しいようですが。

 

・予算5万以下
    ゲーム用途では無いので、ハイスペックは不要。
    セール中のAQUOS wishと悩みました。


主な用途

    書いている用途以外はiPadで済ませています。
    目が悪いので大きい画面が良いのです。

 

・電話
    SNSやWeb会議で頻度は減っていますが。

 

テザリング
    外出時のiPadやノートPC用。
    業務で使うのでセキュリティ上、フリーWifiは避けています。

 

・時計
    腕時計はしないので
    
・アラーム
    ある意味、良く使う用途かも。

 

・オサイフケータイ NEW!
    実は使った事ありません。
    電子決済はカード型のIDとかSUGOCAは使っています。

 

・ポイントカード UPDATE!
    ポイントカードアプリはiPadでも一部使ってます。
    いちいちテザリングしないといけないのが手間でした。
    手持ちのカードを減らしたい。

 

・位置情報を絡めたアプリ NEW!
    ポケモンGoとか。
    運動量が増える事に期待。

 

Logicool K400 PlusでPrintScreen

キーボードはLogicoolの K400 Plusを使っています。

ワイヤレスで省スペース、タッチパッドも付いていて机がスッキリします。

キー配列が特殊でキーを打ち間違えるのは、どのキーボードでもやらかすので少ししか気になりません。

ノートPCで特殊はキー配列は慣れていますしね。

 

で、使っていて気付いたのですが、Print Screenキーが無い。

業務では画面キャプチャ―&貼り付けを良くやるので、これは困ったなと。

何とかならないかと調べたら製品ページに

「Fnキー」(左下のCtrlの右)+「Backキー」(Enterの上)

と書いていました。マニュアル大事。

 

ボリューム変更という用途が低いタッチパッド上のキーに割当とかできれば便利なのですが。

 

私はOptionsソフトウェアでフ最上段のキーはF1~F12に変更して使っています。

プログラムやExcelが主な用途ですし。IME操作時に困りますし。

 

参考 取扱説明書:

Wireless Touch Keyboard K400 Plus取扱説明書 (logicool.co.jp)

 

P.S.

ずいぶん長くブログを放置してしまった・・・

ここまで放置すると投稿に勇気が要りますね。

起業して一周年

2017/7/7に個人事業者で起業したのですが、無事に一周年を迎える事ができました。

といっても、半年は仕事をしていなかったのですが。

 

この1年間でやった事というと・・・

・起業した。(七夕の2017/7/7で7が3つ付く日に起業)

・会計ソフトの使い方を覚えた。(Freee使っています)

・確定申告の青色申告複式簿記をしてみた。

Pythonを少し勉強した。

・BIダッシュボードを少し勉強した。

・製造業関係の展示会に行った。

・会社を辞める前に勤めていた客先から仕事が来た。(おかげで生活できています)

・仕事用にDBからデータ取得用のExcelアドインを作った。

・ぺちぱなに参加してみた。

・体調回復に努めた。

 

今期も色々と新しい事に挑戦していく年になるかと思います。

というか現在進行形でなっています。

新しいといっても、IT業界では数年遅れの内容なんですけどね。

勉強すること沢山です。

 

ぺちぱな17に参加してきました


6/16に開催されたぺちぱな17に参加してきました

今回はUnity入門という事でテトリスを作成しました。

今回は持ち込んだPCでUnityでHello Worldまで実行確認してから参加したのでスムーズにいきました。
前準備は大事です。

講師の先生の作った資料やコード読みながら、ブロックの当たり判定やラインが揃った際のブロック削除処理を実装するのですが、
落ちてくるブロックが置いているブロックをすり抜けるような不具合とかは当たり前に実装しました(笑)
最初に色々と理解するまでが大変ですね。

ブロックの移動ならpositionメソッド、回転とかRotateメソッドで簡単に実装できちゃうんですね。
昔のBASICならLINEコマンドで移動前のブロックを背景色で塗りつぶして、移動先の位置にLINEコマンドで描画とかしてますね。
スプライト(スプライトの衝突割込みとか仕込む)使ったり、
ブロックをキャラクターで表現(ブロックが移動する度に、Print文で上書きする。半ブロック分移動とかはできない)しない場合ですね。

今回はブロックの当たり判定やラインの揃った判定は二次元配列で実装しました。
ブロックのオブジェクトの座標から、二次元配列を割り出して判定です。
当然、わざわざ計算しなくても、オブジェクトが重なっているかとかを判定する仕組みはUnityにあるそうなのですが、今回は見送り。

以前Visual Basic 5で作ったプログラムでの重なり判定はWindowsのRegion関係のAPIを呼び出しまくって判定していた事を思い出しました。
2つのRegionオブジェクトが重なっているかどうかを判定するAPIを使っていたような。


前回のSwiftといい、C#は覚えておくと便利そうです。
Unityで業務アプリ作っても良いでしょうし。

次回は10月予定らしいですよ。


ぺちぱな公式ブログ
https://phper-na.info/archives/177


落ち物パズルやりたくなりました。コラムスとか。

ExcelでリボンをVBAで実装に四苦八苦

最近、自分用にExcelODBC経由でSQLを発行してDBのデータを参照するアドインをExcel VBAで開発しています。

せっかくなのでリボンで実装してみようと色々調べながらやっていました。

客先のPCなので、ツールを入れる事が出来ないという事もあり、customUI2010.xmlを手作業でいじったり、

コードの中でDynamicMenuに項目追加する為にXMLをコードの中で書いたりして実装していましたが・・・

 

なんだか、無理やりVBAで実装している感がありますね。

リボンに配置したコントロールの値を直接参照できない?ですし。

ExcelアドインはVisual Studioだと開発が楽になるんでしょうか。

Excel VBAExcelさえ入っていれば使えるので、使い勝手いいんですよね。

 

 

Excel VBAでリボンを実装したときの参考サイト

VBA リボンの追加に挑戦 | ろっひー

リボンのカスタイマイズ

 

ぺちぱな。16に行ってきました。

2月中旬にぺちぱな。16に行ってきました。

ぺちぱな。16 〜Xamarinで始めるクロスプラットフォーム開発〜 : ATND

 

PHP関係無いよねとかは言わない方針で。

 

ちょっとしたサンプルプログラムを開発してみる内容だったのですが・・・

 

・私が持ち込んだPC(Windows)にVisual StudioにXamarinが正常にセットアップされていない。

・Xamarinは初めて触る

C#初めて触る

・むしろ、iOSとかAndroid開発も初めて

という状況で行ったので、他の人は組めていたのに、私は散々な結果でした。

Hello Worldぐらい動作確認して参加すれば良かったです。

 

感想としては、同じコードでiOSAndroidが組めるという触れ込みでも、やっぱり少しはOSで書き分けが必要だったりするようで、もう一押しといった感じでした。

iOSの方は、まだ、コンパイルMAC必須なんですね。この辺りは数年前から変わっていないようですね。

参加していた人のほとんどがMACでしたね。

iOS向けのスマホアプリも組んでみたいですし、買おうか悩み中。

 

次回は5月中旬~6月ぐらいに実施されるそうですよ。