VBA 表から行

特定の範囲のデータをリスト化する場合、定番なのは行と列のループをネストさせる方法。

行の変数(r)と列(c)の変数をCellsで利用すればOK。見出し等は行や列の数値を固定にする。

PHP+JavaScript(Vue.js) メモプログラム

何かメモを取る場合、テキストファイルにパッと書くことが多いので、ブラウザに書けたらどうだろうと思い作成してみた。

普段からブラウザは開いているし、レンサバに設置すれば外でも見れるので、テキストファイルより便利になりそうと思っていたが、しばらく使ってみて、やっぱりテキストファイルに戻ってしまった。

C#+JavaScript(Vue.js) 工数管理プログラム

製造業では作業時間(工数)の集計は必須。しかし中小企業では作業者が紙に書いて、後々エクセル上で集計というパターンが結構ある。

今回はタブレットを使って作業時間を作業者が直接入力することを想定したプログラムを作成してみた。

タブレットなのでWebインターフェースを採用。専用サーバーを保有していない場合を想定し、C#内蔵の簡易サーバーでリクエストを処理。普通のPCでもソフトを立ち上げておけば処理できる。

書き出しもDBではなく、フォルダ+テキストファイルとして、管理者のPCの知識が少なくても何とか対応できる環境にした。

C#のサーバーVer2

最初はTask.Runで非同期にしてWhileで待受していた。BeginGetContext/EndGetContextを利用する場合。

C# サーバー

最低限の動作。

あるいはこんな書き方

フォームを使う場合

 

LINE WORKSインストール

有料版と無料版で同じプログラムなのか不明だが、手抜きなのか?と思うほど不安定。直近でPC数台にインストールして発生した問題。

・連絡先から新規トーク送信時(トークルーム作成時)によく落ちる。ほんと頻繁に落ちる。クラッシュレポートを呼んでストンと落ちて固まったりしないからいいんだけど。

・連絡先から新規トーク送信時に出てくる新しいウィンドウと本体のウィンドウのサイズが違う。まぁ、サイズの違いはいいとしても…本体をデスクトップの下側に置いておくと新しいウィンドウがデスクトップからはみ出る。新しいウィンドウが画面からはみ出るのはどうかと。

・一度設定するとプロフィール写真が消せない。トークでは表示されていないようだけど、マイプロフィールからは消えない。

・インストール完了後、起動しない。エラーレポートを見るとig75icd32.dllが原因と出てるので、Intelグラフィックドライバーをメーカーサイトから落として更新すると起動できた。この程度軽量のアプリでドライバーの影響で落ちるのはどうなんだろう。

・インストール時にパスを選べるがアンインストールは選んだパスでアンインストールの処理をしないっぽい。それにインストールのパスを変えると、全ての文字が化けて動作がおかしくなる。

最後の2つはライブラリの影響かと思うけど、ビジネスユースでこのクオリティは酷い。導入実績がすごい数あるけど、絶対問題出ているだろうと思う。

・追記(数カ月後)

PC版の更新が来て、落ちることはほぼなくなった。

iOS/Androidスマホ、Androidタブレットにも数台インストールしてみた。

・スマホは特に大きな問題は発生していない。

・Androidタブレットは酷い。トークが届くまで遅い。忘れたころに届く。最悪届かない…こりゃ酷い。

・同じアカウントの、PC、スマホ、タブレットのトークがしっかり同期しない。アプリで更新のボタンをおしたり、端末を再起動しても同期しない。

何というか、全体的に不安定。同期しないとか届かないとか。導入実績がすごい数あるんだから、絶対クオリティについて把握してると思うんだけど、まぁアプリのコメントを読んでみると問題がないという評価は多いけど、一定数通知が出ないとか不安定という評価があるし、現時点でも放置ということは対応するつもりがないんだろうな。

現状オススメできないかな。こういうサービスは一度導入すると他への移行も大変だし止めたほうがいい。

・追記(一年近く使って)

PCはある程度安定しているが、どうもAndroidのタブレットはダメっぽい。届くのが遅いというの部分は、結局解決しなかった。

数台のPC(スマホやタブレットの利用はなし)で実際の業務に利用していて、利用者からはわりと好評。ビジネス向けのチャットサービスはいくつかあるけどUIが慣れたLINEというのがいいのだろう。

情シスがない規模の中小企業で、まだメールがメインって状況なら入れてもいいかもしれない。

通常のLINEと同じようなUIなのでPCに詳しくない人でも使いやすい。

C# Excel操作③

 

C# ComboBox 枠に色をつける

 

Arch Linux MariaDB

・先ずソースから挑戦

入ってなければ
pacman -S cmake
pacman -S ncurses

ソースをダウロードして解凍
tar zxvf mariadb-10.3.12.tar.gz
cd mariadb-10.3.12

cmake . -DCMAKE_INSTALL_PREFIX=/root/share/mariadb -DCMAKE_PREFIX_PATH=/var/lib/pacman/local/ncurses-6.1-6/ -DPLUGIN_TOKUDB=NO

(.はソースディレクトリでCMakeLists.txtが必要)
(DCMAKE_INSTALL_PREFIXはmake installしたときの配置先)

make -j 1
make -j install

パッと調べるとこんな感じのようだかエラーが出るので要調査。

・パッケージにて

pacman -S mariadb
mysql_install_db –user=mysql –basedir=/usr –datadir=/var/lib/mysql

Arch Linux カーネルのコンパイル

・カーネルバージョン確認

uname -r

・カーネルソース保存

wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.99.tar.gz

・シンボリックリンク

ln -s linux-4.9.99 linux

・コンフィグ作成

make clean && make mrproper
今までconfigで設定した内容の消去を行う。初期化。

Archのデフォルト設定を利用する場合。
zcat /proc/config.gz > .config

あるいは、

make localmodconfig
ゲストOS内で現在ロードされているカーネルモジュール情報から
カーネルに読みこまれていないmoduleを無効にした設定をおこなう。

・その他コンフィグ

必要な場合。

make oldconfig
今あるconfig使って、新しい設定だけを問い合わせてくるというものがある。

make config
対話型のコンフィギュレータ

make menuconfig
メニューベースのコンフィギュレータ

make xconfig
Xベースのコンフィギュレータ

・コンパイル

make

今回はbcが無いとエラーがでた。

pacman -S bc

makeは時間がかかる。

・カーネルモジュールのコンパイル

make modules_install

以下にコピーされる。

/lib/modules/xxx

・bootディレクトリにカーネルをコピー

名前の前にvmlinuz-をつけるのは必須。
cp -v /usr/src/linux-4.9.99/arch/x86_64/boot/bzImage /boot/vmlinuz-linux49

・initramfs生成

mkinitcpioを利用。

mkinitcpio -k 4.9.99 -g /boot/initramfs-linux49.img

/lib/modules/xxxのソースディレクトリ名を使う。

・ブートローダーの設定

/boot/grub/grub.cfg

linux /vmlinuz-linux …
initrd /initramfs-linux.img
この部分を変更。

これで完了。

・カーネルモジュール

一覧
lsmod

内容確認
modinfo

ロード
insmod

アンロード
rmmod

ロード・アンロードの依存関係を自分で処理。
(lsmodのUsed byにて分かる)

依存関係を自動で処理する場合のロード・アンロード
modprobe xxx
modprobe -r xxx

Arch Linux VirtualBoxのディスクサイズ変更

・VirtualBox

cd C:\Program Files\Oracle\VirtualBox
VBoxManage.exe modifyhd “G:\VirtualBox VMs\Arch Linux\arch.vdi” –resize 20480

・ブートメディアで起動

・パーティーションサイズの変更
parted
p
resizepart xxx 100%

・デバイス名チェック
fdisk -l

・整合性チェック
fsck -f /dev/sda2

・ファイル
resize2fs /dev/sda2 [size]