SQLの窓

2020年09月21日


nuget.exe CLI を使用してパッケージをダウンロードし、C# のソースコードで利用して PowerShell でビルドする

 ps.bat ( PowerShell をそのまま使えない場合は以下のバッチファイルを作成して使用します )
@powershell -NoProfile -ExecutionPolicy Unrestricted "./%1.ps1"
nuget.exe - recommended latest のダウンロードページ nuget.exe CLI を使用してパッケージを管理する( Microsoft のドキュメント )
nuget.exe を最新にするには
nuget update -Self

ここで使用するパッケージの最新バージョンの確認は こちらから 行って以下のコマンドライン
nuget install Newtonsoft.Json -Version バージョン
json_sample_01.cs
using System;
using System.IO;
using System.Text;
using System.Net;
using System.Web;
using System.Windows.Forms;
using Newtonsoft.Json;

public class Program
{
	public static void Main()
	{
		ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;	

		string url = "https://lightbox.sakura.ne.jp/demo/json/syain_json.php";
		
		string json = "";

		using( WebClient wc = new WebClient() ) {
			wc.Encoding = Encoding.UTF8;
			json = wc.DownloadString( url );
		}

		Syain[] syain = JsonConvert.DeserializeObject<Syain[]>(json);

		foreach (Syain data in syain) {
			Console.WriteLine( data.社員コード );
			Console.WriteLine( data.氏名 );
			Console.WriteLine( data.フリガナ );
		}

		MessageBox.Show("処理が終了しました");

	}

	private class Syain
	{
		public string 社員コード  { get; set; }
		public string 氏名  { get; set; }
		public string フリガナ  { get; set; }
	}

}


build.ps1

Newtonsoft.Json.dll は、ソースコードと同じ場所に置きます
Add-Type -path "json_sample_01.cs" `
	-ReferencedAssemblies "Newtonsoft.Json.dll", System.Web, System.Windows.Forms `
	-OutputAssembly json_sample_01.exe `
	-OutputType ConsoleApplication

Read-Host "何かキーを押してください"


run.ps1

Newtonsoft.Json.dll は、ソースコードと同じ場所に置きます
Add-Type -path "Newtonsoft.Json.dll"
Add-Type -path "json_sample_01.cs" `
	-ReferencedAssemblies "Newtonsoft.Json.dll", System.Web, System.Windows.Forms

[Program]::Main()

Read-Host "何かキーを押してください"




posted by lightbox at 2020-09-21 18:32 | PowerShell + C# | このブログの読者になる | 更新情報をチェックする

2020年09月01日


XAMPP + Python( 3.8 ) で WEBアプリの基礎部分構築 : その ( 1 )

最初は、基本的なデータ型の表示テストです。



XAMPP で Python を実行できるようにするには、httpd.conf の 『AddHandler cgi-script .cgi .pl .asp』 に .py を追加します


( Apache 環境では、.py に対してソースコードの先頭の #!プログラム をcgi として実行します / PHP は別定義です )

Windows では、Python の先頭に Python の実行プログラムの場所を記述しなくても、Windows のレジストリに設定して動作できるようにする事ができるようです
( 💘 ScriptInterpreterSource Registry-Strict )

以下は、Windows 環境下で .py に対して実行される処理として設定される内容です
Python のダウンロードとインストールは こちら(Windows 環境のPython) がとても参考になります 上記リンク先のフル・インストーラ版で python-3.8.5-amd64.exe をインストールすると、拡張子の関連付けで .py に対して 『"C:\WINDOWS\py.exe" "%L" %*』が登録されます Python.File は、ファイルのタイプとして登録される詳細ですが、このエントリが拡張子と関連付けられます。確認は、コマンドプロンプトで 『assoc .py』で確認できますが、レジストリでも確認できます 以下のプロパティはインストールされた py.exe と python.exe です 以下は、仮想ディレクトリの作成です
<IfModule alias_module>

    Alias /py "/app/py20"
    <Directory "/app/py20">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>

</IfModule>
sample_01.py
#!C:\python\python.exe

import cgi
import cgitb
cgitb.enable()

import sys
import io
import os
import urllib.parse
from xml.sax.saxutils import *

sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')

print("Content-Type: text/html; charset=utf-8")
print( "Expires: Thu, 19 Nov 1981 08:52:00 GMT" )
print( "Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0" )
print( "Pragma: no-cache" )
print()

data1 = "こんにちは"
data2 = [1,2,3,4]
data3 = (1,2,3,4,"")
data4 = {"A":1, "B":2, "C":3, "D":4 }

type1 = str(type(data1))
type2 = str(type(data2))
type3 = str(type(data3))
type4 = str(type(data4))

print( data1 + "<br>" )
print( escape(type1) + "<br>" )

print( str(data2) + "<br>" )
print( escape(type2) + "<br>" )

print( str(data3) + "<br>" )
print( escape(type3) + "<br>" )

print( str(data4) + "<br>" )
print( escape(type4) + "<br>" )



関連する記事

XAMPP + Python( 3.8 ) で WEBアプリの基礎部分構築 : その ( 1 )

XAMPP + Python( 3.8 ) でWEBアプリの基礎部分構築 : その ( 2 ) : QUERY_STRING と 画面定義

XAMPP + Python( 3.8 ) で WEBアプリの基礎部分構築 : その ( 3 ) : cgi.FieldStorage() から ディクショナリ

XAMPP + Python( 3.8 ) で WEBアプリの基礎部分構築 : その ( 4 ) : リダイレクトと関数とログ出力



posted by lightbox at 2020-09-01 11:15 | Python | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり