2020年11月30日月曜日

英語サイト

 What is Schedule NurseⅢ (nurse-scheduling-software.com)

(日本語だとリダイレクトされます)

英語マニュアル


Video

英語マニュアルは、シフトは、プロの翻訳者の成果物をさらに、Grammerlyで書き直したものです。やはり、Passive構文の指摘が結構あり、正しい指摘に思えるものは直感的に直しました。
ユーザとPythonについては、プロの翻訳者に頼らず、DeepLとGrammerlyで作ったものです。以前にそういったツールなしにつくったものよりは良いような気がします。
また、日本の恥さらしになるかもしれないのですが、世界に問うてみたい気持ちの方が強いです。以前と違うのは、大手メーカの後追いではないということです。ニッチではあっても世界で唯一であることがささやかな誇りです。

2020年11月28日土曜日

インストール場所

 MSIXのインストール場所は、通常フォルダと異なり、書き込みをすることができません。

(作者である私自身もどこにインストールされたか分かりません。)

そうすると、problem.jsonの受け渡し、サンプルフォルダでのWriteが出来ないので、基点フォルダ別に設け

AppData→sugawara-systems→schedule_nurse→1.0.0.0

にしています。なので、インストール最初のフォルダは、ここになります。さらに、

英語版と日本語版でサンプルが異なりますので、上からさらに

Samples→Japanese→プロジェクトサンプル

でようやくサンプル場所に辿りつきます。

なお、AppDataは、通常隠しフォルダとなっているので、本来的に保存する場所ではないと思います。そのため、サンプルを保存する場合は、ドキュメントフォルダに移して保存してください。更新時に、名前を変えていても消去されるのではないかと思います。また、アンインストール時は、このフォルダは、消去されると思います。(未確認)




2020年11月27日金曜日

Hugoでサイトを構築

 https://www.wangchucheng.com/en/docs/eureka/

というテーマを拝借して構築しています。最初マークダウンをtyporaで記述するようなイメージを持っていたのですが、

hugo server

で、ローカルに起動中に、mdファイルを書き換えると、即差にupdateされることが分かりtyporaを使用する必要はありません。単純にテキストエディタで記述しながら、画面表示を確認できます。

製作中のSnapshotです。



2020年11月26日木曜日

.htaccessでリダイレクト

 日本語ブラウザを検出してリダイレクトするようにしました。

リダイレクトされないようにするには、ブラウザを日本語以外にするか、OSの言語設定を日本語以外にします。

以下で、切り替えています。



RewriteEngine On

  RewriteCond %{HTTP:Accept-Language} ^ja [NC]
  RewriteRule ^$ https://japanese.nurse-scheduling-software.com/ [L,R=301]



2020年11月25日水曜日

Githubで1MB以上のファイルが読み取れない

 1MBしか読み取れないのは、GetRawContentの仕様のようです。

blobsを使うと100MBまで出来るようになるよ、というご丁寧なエラーメッセージが出てきます。

.net core - How to retrieve and update a file > 1MB from/to master GitHub using Octokit.Net Git Data API within c# - Stack Overflow


131Cで問題を修正しました。


private Dictionary SHA_MAP = new Dictionary();
        
        public async void read_hiearachy()
        {
            try
            {
                SHA_MAP.Clear();
                var github = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("IshisakaSample"));
                
                string owner = richTextBox1.Text.Trim();
                string repo = richTextBox2.Text.Trim();


               
                treeView1.Nodes.Clear();
                TreeNode rootNode = new TreeNode(repo);
                treeView1.Nodes.Add(rootNode); // ルート・ノードの追加

                
                string branch_str = richTextBox3.Text.Trim();
                var branch = await github.Repository.Branch.Get(owner, repo, branch_str);// "master");
                var contents = await github.Git.Tree.GetRecursive(owner, repo, branch.Commit.Sha);
                foreach (var v in contents.Tree)
                {
                    if (v.Path.Contains(".nurse3"))
                    {
                        if (v.Size >= 1024 * 1024)
                        {
                            SHA_MAP[v.Path] = v.Sha;
                        }
						if (Thread.CurrentThread.CurrentUICulture.DisplayName.Contains("日本語")){
                            if (v.Path.Contains("Japanese"))
                            {
                                rootNode.Nodes.Add(v.Path);
                            }
                        }else if (v.Path.Contains("English")){
                        	rootNode.Nodes.Add(v.Path);

                        }
                    }
                    Debug.WriteLine(v.Path, v.Type);
                }
                rootNode.Expand();
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

        private void button1_Click(object sender, EventArgs e)
        {
            read_hiearachy();
        }

        
        private async void read(string filepath)
        {
            var github = new Octokit.GitHubClient(new Octokit.ProductHeaderValue("IshisakaSample"));
            string owner = richTextBox1.Text.Trim();
            string repo = richTextBox2.Text.Trim();
            if (SHA_MAP.ContainsKey(filepath))
            {
                string sha = SHA_MAP[filepath];
                var b64 = await github.Git.Blob.Get(owner, repo, sha);
                
                byte[] file=Convert.FromBase64String(b64.Content);
                
                form1.deserialize(file);

            }
            else
            {
                var file = await github.Repository.Content.GetRawContent(owner, repo, filepath);
                form1.deserialize(file);
            }

        }

2020年11月24日火曜日

appinstaller Webでの記載のしかた

そのまま、貼り付けるとXMLファイルとしてブラウザが認識してしまって上手くいきませんでした。

 https://docs.microsoft.com/en-us/windows/msix/app-installer/installing-windows10-apps-web

のようにすると、インストーラとして認識してくれるようです。downloadのページに貼り付けていますが、未だテスト中です。




2020年11月22日日曜日

英語プロジェクトと日本語プロジェクト

 日本語環境とそれ以外の環境で、作ったプロジェクト間では、互換がありません。プロジェクトが日本語由来かどうかは、作成時に決まります。その後、国を変更するということは想定していません。

これは、Date関係の定義を変えているために起きる現象です。例えば、日 →Sun、今月→ThisMonth と言った具体にDate表現が異なり、それをベースにDay集合を定義しているためで、基本的には、日本語環境で作ったプロジェクトを英語圏に持っていっても動きません。Pythonを使っていれば、確実にエラーとなるので、分りやすいですが、使っていなければ一見動いているように見えるプロジェクトも多いです。

無用なトラブルを避けるために、Githubサンプルも英語と日本語に分けて、参照できないようにしています。英語環境では、Englishフォルダ下しか見えません


日本語環境では、Japaneseフォルダ下しか見えません。


となります。