2020年3月17日火曜日

LibreOfficeのフォントの色を変更できない

あまプロではLibreOfficeで表を作る事が有ります。
リブレオフィスのフォントの色ではまったのであメログ。

Ubuntu19.10版のリブレでは
こんな感じで、フォントの色を指定しただけでは文字色を変更出来ません。
ツール > オプション > アクセシビリティの
システム設定のフォント色を画面表示に使用
のチェックを外さなければフォントの色選りシステム設定が優先されてしまいます。

何故かデフォで「システム設定のフォント色を画面表示に使用」が有効になっているのと
「システム設定のフォント色を画面表示に使用」が有効の為に反映されない「フォントの色」が有効になっているのが変なのですが…ちょっと不親切です(-.- )

2020年2月20日木曜日

二次元配列の横順を縦順にする

あまプロではアプリ開発をお受けする事が有ります。

先日、二次元配列を横順から縦順に変換する機能を実装したのであメログ。
<!doctype html>
<html lang="ja">
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8">
        <title>二次元配列縦横入換</title>
        <script type="text/javascript">
            let array = [
                [ 1,  2,  3,  4],
                [ 5,  6,  7,  8],
                [ 9, 10, 11, 12]
            ];
            let rowLength = array.length;
            let colLength = array[ 0].length;
            console.log( '横順');
            for( let row = 0; row < rowLength; row++)
            {
                let line = '';
                for( let col = 0; col < colLength; col++)
                {
                    line += array[ row][ col] + ', ';
                }
                console.log( line);
            }
            console.log( '\n縦順');
            for( let row = 0; row < rowLength; row++)
            {
                let line = '';
                for( let col = 0; col < colLength; col++)
                {
                    line +=
                        array[ parseInt( ( rowLength * col + row) / colLength)]
                            [ ( col * rowLength % colLength + row) % colLength] +
                        ', ';
                }
                console.log( line);
            }
        </script>
    </head>
    <body>
    </body>
</html>
JavaScriptやとこんな感じ。
他の言語の場合は適宜方言を脳内変換して下さい。

二次元配列を出力すると通常左上から始めます。
これを右上、左下、右下から始める方法もあります。
これらを組み合わせると結構楽しく二次元配列で遊べます。

2019年12月6日金曜日

5374.jpの年末年始対応について

あまプロではCodeforAmagasakiの活動に参加する事が有ります。
CodeforAmagasaki(以下C4AMA)は都市毎に活動するICTを利活用した団体で、Codefor*は日本各地で活動しています。

C4AMAでは、市内のゴミ出しのアプリを運営してます。
毎年年末年始にはゴミ出しの回収日が変更されますので、毎年恒例でその対応を行いました。
折角なので、その手順をあメログ。

  1. Githubの5374リポジトリからソースをクローンします。
    git clone https://github.com/codeforamagasaki/5374.git
  2. 市報やサイトに掲載されている年末年始のゴミ回収日データを
    center.csvへ反映します。
    1. 例えば、月・木曜日地区は年末は2019/12/30で年始は2020/01/06です。
    2. area_days.csvから月・木曜日地区は地区1, 地区2, 地区3, 地区4, 地区14, 地区15, 地区16, 地区23, 地区24である事が判ります。 
    3. 置換します
      vimだとこんな感じ
      %s/2018\/12\/31,2019\/01\/07/2019\/12\/30,2020\/01\/06/g
      %s/2018\/12\/29,2019\/01\/05/2019\/12\/28,2020\/01\/04/g
      %s/2018\/12\/28,2019\/01\/04/2019\/12\/31,2020\/01\/07/g
      上記の3置換を実行するだけ
  3. コミット&プッシュします。
    git commit -am"年末年始対応2019"
    git push origin gh-pages
    ※C4AMAメンバー以外の方はプッシュ権限が無いので、プルリクエストをお送り下さい。
  4. サイトに反映されているかを確認します。 
毎年こんな感じです。

2019年11月28日木曜日

Xsd.exeでXMLからC#モデルクラスを生成さす

あまプロではC#の案件をお請けする事が有ります。
先日、XMLファイルからC#のモデルクラスを生成するXSDというツールでハマったのであメログ。

.net frameworkにはXMLファイルからC#のモデルクラスを生成してくれるXsd.exeという
ツールが予めインストールされてます。
※見付からない人はドットネットのインストールディレクトリを検索してみてね

このツールでXMLからC#のクラスファイルを生成する事が出来ます。
手順
  1. xsd hoge.xml
    これでスキーマファイル(hoge.xsd)がカレントディレクトリに生成されます
  2. xsd /c hoge.xsd /n:namespace.hoge
    これでC#のカレントディレクトリにクラスファイルが生成されます
二段階あるのでちょっと手間ですけど、多数のXMLファイルからC#クラスを生成せなあかん場合はバッチファイルとかを組むと良いでしょう。

これはこれで便利やねんけど、例えば
hoge.xml
<?xml version="1.0" encoding="utf-8"?>
<root>
  <child0>value0</child0>
  <child1>value1</child1>
  <child2>value2</child2>
</root>
こんなXMLファイルやと生成されるC#クラス内に
NewDataSetという内部クラスが生成されてしまいます。

C#クラス一つだけなら問題なくコンパイルも通んねんけど
生成されたクラスが二つ以上同じネームスペース内に有ると
重複エラーでコンパイルが通らんくなってしまいます…。

ツールの引数を色々変えて試してみたけど、あかんくて結局
hoge.xml
<?xml version="1.0" encoding="utf-8"?>
<root>
  <child>
    <child0>value0</child0>
    <child1>value1</child1>
    <child2>value2</child2>
  </child>
</root>
こんな感じに要素を一つ追加して回避しました。
こうするとNewDataSetという内部クラスは生成されず、重複エラーも起きない。

その他の回避策としてはクラス毎にネームスペースを変えるとかかな…美しくないけど。

ツールの仕様らしいです〜。

グーグルフォームでアンケート結果が消える件について

あまプロではグーグルフォームを使ったアンケート作成する事が有ります。
先日アンケートで困った事があったのであメログ。

グーグルフォームではアンケート結果を保存する事が出来ます。
質問と回答は組になってまして、この質問についてはこの回答という関連付けになっています。


アンケートを開始すると、回答がどんどん溜まっていくのですが、
既に回答が保存済みの状態で、 関連付く質問を削除すると…保存済みの回答も削除されてしまいます。2019/11/25現在

警告も無しに保存済みの回答も消されてまうので、知らない人は
アンケート結果が消えてびっくりされると思います。
が、仕様です。

一応フィードバックを送信しておきましたので、ひょっとしたら改修されるかもしれませんが
今の所はご注意を…。

2019年11月3日日曜日

ラインオフィシャルアカウントマネージャでのグループチャットについて

あまプロではline公式アカウントを使ってプログラミング教室の生徒と連絡する場合が有ります。

最近、line@がライン公式アカウントに統合され、管理アプリもLINE Official Account Managerに変更されました。
その移行の際に設定が変わってしまって、公式アカウントでのグループチャットが出来なくなってしまったのであメログ。

あまプロの様に教室を経営していると、教室と生徒で1:1の遣り取りだけでなく、教室と複数の生徒さんで1:nの遣り取りが要る場合が有ります。
例えば、友達と一緒に教室に通われてて、友達と一緒に日程を調整したい場合等はグループチャットの方が便利です。
但し、初期設定ではグルチャ出来へん設定になっているので、以下の手順で設定を変更します。

設定 > アカウント設定 > チャットに
  • グループ・複数人チャットへの参加を許可しない
  • グループ・複数人チャットへの参加を許可する
が表示されてます。
何故か初期状態では許可しないになってるので、許可するに変更しておきます。

これで公式アカウントからグループチャット出来るかと思いきや、公式アカウントからはグループチャットを開始出来ません。
生徒から公式アカウントを招待してもらわなあかん様です(今の所)。

生徒さんからグループに招待してもらったら、晴れて1:nでのチャットが出来る様になります。

ちなみに、LINE Official Account ManagerはPC版でフリープランで行ってます。
スマホ版や有料プランでは違うのかもしれません…。

2019年9月17日火曜日

FirefoxでJavaScriptをデバッグ出来ない

あまプロではJavascritの開発を行う事が有ります。

ジャバスクの開発にはブラウザが要りまして、Ubuntuの標準ブラウザはファイヤーフォックスです。

以前の記事でも書きましたが、最近Firefoxの調子が悪いです。
前回のJavaScriptの整形表示は最新版(69.0 Ubuntu 64bit)で改修されておりました。アリガトウゴザイマス
だがしかし!、今度はブレークポイントで処理を止めるデバッグが出来なくなっております…。ザンネンスギル

こんな簡単なJavaScriptですらデバック出来へん
<html>
    <head>
        <script type="text/javascript"><!--
            (function ( )
            {
                alert( "JS"); //ここでブレークしたい
            })();
      </script>
    </head>
    <body>
</html>

次のバージョン(70.0)迄待たなあかんのでしょうか?
ちょっとお仕事では使えない品質ですねぇ。
それまでは取り敢えずChromiumを使ときます…。

ーーーーーーーーーーーー追伸ーーーーーーーーーーーー
Windows版は正常にデバッグ出来たので、Linux版のみの不具合みたいです。