色付き文字( 127744以降 ) : Windows10

🌀🌁🌂🌃🌄🌅🌆🌇🌈🌉🌊🌋🌌🌍🌎🌏🌐🌑🌒🌓🌔🌕🌖🌗🌘🌙🌚🌛🌜🌝🌞🌟🌠🌭🌮🌯🌰🌱🌲🌳🌴🌵🌶🌷🌸🌹🌺🌻🌼🌽🌾🌿🍀🍁🍂🍃🍄🍅🍆🍇🍈🍉🍊🍋🍌🍍🍎🍏🍐🍑🍒🍓🍔🍕🍖🍗🍘🍙🍚🍛🍜🍝🍞🍟🍠🍡🍢🍣🍤🍥🍦🍧🍨🍩🍪🍫🍬🍭🍮🍯🍰🍱🍲🍳🍴🍵🍶🍷🍸🍹🍺🍻🍼🍾🍿🎀🎁🎂🎃🎄🎅🎆🎇🎈🎉🎊🎋🎌🎍🎎🎏🎐🎑🎒🎓🎟🎠🎡🎢🎣🎤🎥🎦🎧🎨🎩🎪🎫🎬🎭🎮🎯🎰🎱🎲🎳🎴🎵🎶🎷🎸🎹🎺🎻🎼🎽🎾🎿🏀🏁🏂🏃🏄🏅🏆🏇🏈🏉🏊🏋🏌🏏🏐🏑🏒🏓🏠🏡🏢🏣🏤🏥🏦🏧🏨🏩🏪🏫🏬🏭🏮🏯🏰🏸🏹🏺🏻🏼🏽🏾🏿🐀🐁🐂🐃🐄🐅🐆🐇🐈🐉🐊🐋🐌🐍🐎🐏🐐🐑🐒🐓🐔🐕🐖🐗🐘🐙🐚🐛🐜🐝🐞🐟🐠🐡🐢🐣🐤🐥🐦🐧🐨🐩🐪🐫🐬🐭🐮🐯🐰🐱🐲🐳🐴🐵🐶🐷🐸🐹🐺🐻🐼🐽🐾👂👃👄👅👆👇👈👉👊👋👌👍👎👏👐👑👒👓👔👕👖👗👘👙👚👛👜👝👞👟👠👡👢👣👤👥👦👧👨👩👪👫👬👭👮👯👰👱👲👳👴👵👶👷👸👹👺👻👼👽👾👿💀💁💂💃💄💅💆💇💈💉💊💋💌💍💎💏💐💑💒💓💔💕💖💗💘💙💚💛💜💝💞💟💠💡💢💣💤💥💦💧💨💩💪💫💬💭💮💯💰💱💲💳💴💵💶💷💸💹💺💻💼💽💾💿📀📁📂📃📄📅📆📇📈📉📊📋📌📍📎📏📐📑📒📓📔📕📖📗📘📙📚📛📜📝📞📟📠📡📢📣📤📥📦📧📨📩📪📫📬📭📮📯📰📱📲📳📴📵📶📷📸📹📺📻📼📿🔀🔁🔂🔃🔄🔅🔆🔇🔈🔉🔊🔋🔌🔍🔎🔏🔐🔑🔒🔓🔔🔕🔖🔗🔘🔙🔚🔛🔜🔝🔞🔟🔠🔡🔢🔣🔤🔥🔦🔧🔨🔩🔪🔫🔬🔭🔮🔯🔰🔱🔲🔳🔴🔵🔶🔷🔸🔹🔺🔻🔼🔽🕋🕌🕍🕎🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧🕴🕵🕺🖐🖕🖖🗻🗼🗽🗾🗿😀😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷😸😹😺😻😼😽😾😿🙀🙁🙂🙃🙄🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏🚀🚁🚂🚃🚄🚅🚆🚇🚈🚉🚊🚋🚌🚍🚎🚏🚐🚑🚒🚓🚔🚕🚖🚗🚘🚙🚚🚛🚜🚝🚞🚟🚠🚡🚢🚣🚤🚥🚦🚧🚨🚩🚪🚫🚬🚭🚮🚯🚰🚱🚲🚳🚴🚵🚶🚷🚸🚹🚺🚻🚼🚽🚾🚿🛀🛁🛂🛃🛄🛅🛌🛐🛑🛒🛫🛬🛴🛵🛶🛷🛸🤐🤑🤒🤓🤔🤕🤖🤗🤘🤙🤚🤛🤜🤝🤞🤟🤠🤡🤢🤣🤤🤥🤦🤧🤨🤩🤪🤫🤬🤭🤮🤯🤰🤱🤲🤳🤴🤵🤶🤷🤸🤹🤺🤼🤽🤾🥀🥁🥂🥃🥄🥅🥇🥈🥉🥊🥋🥌🥐🥑🥒🥓🥔🥕🥖🥗🥘🥙🥚🥛🥜🥝🥞🥟🥠🥡🥢🥣🥤🥥🥦🥧🥨🥩🥪🥫🦀🦁🦂🦃🦄🦅🦆🦇🦈🦉🦊🦋🦌🦍🦎🦏🦐🦑🦒🦓🦔🦕🦖🦗🧀🧐🧑🧒🧓🧔🧕🧖🧗🧘🧙🧚🧛🧜🧝🧞🧟🧠🧡🧢🧣🧤🧥🧦
記録

Windows10 IIS の設定

IIS の有効化

PHP を使用する為に必要なチェックですが、ASP も動作するようにしています。



IIS マネージャーのショートカットの作成

インターネット インフォメーション サービス (IIS) マネージャーのショートカットは、メニューの以下の位置のアイコンを右クリックで『その他』=>『ファイルの場所を開く』でショートカットがあるので、コピーでデスクトップに置きます



php.ini の設定

PHP: Microsoft IIS 7.0 以降 - Manual

一番重要なのは、cgi.force_redirect = 0 の設定です。他はおそらくデフォルト値だと思います( ですが、一応明示設定するほうがいいでしょう )
fastcgi.impersonate = 1
fastcgi.logging = 0
cgi.fix_pathinfo=1
cgi.force_redirect = 0


php の登録

以下の画像の手順で、PHP を登録します。これらは全て PHP のサイトにある Microsoft IIS 7.0 以降 の説明と同じです。









アプリケーションの追加

ASP を使わないで、PHP だけで利用する場合は 『仮想ディレクトリの追加』でかまいません。( global.asa を使用する場合に、アプリケーションの追加を実行します。)







▼ デフォルドでは WEB のディレクトリ一覧が表示されないので、ディレクトリ表示を有効にします。






IIS のバージョンの確認方法



ASP でエラーを表示する

デフォルトでは、エラーが起きるとブラウザのエラーページが表示されます。ASP の具体的なエラーをブラウザに出力するには、設定が必要です。



32ビットの環境で ASP を実行する為の設定

ASP では COM を使用します。その場合、64ビットのものが存在しない事が多いので、基本32 ビットで動作するようにします。





../ という相対パスを有効にする

セキュリティ上の理由により、デフォルトでは相対パスで親フォルダへのアクセスを禁じていますが、そもそも IIS はイントラネットでしょうし、設定しておいたほうが良い環境がほとんどでしょう。




Pleiades Eclipse 4.7 Oxygen : SWT(Table) + MySQL の SQL(SELECT) で一覧表示



WindowBuilder のインストール

SWT と Swing に関しては、WindowBuilder のサイト よりインストール用の URL を取得します。


この URL を『新規ソフトウェアのインストール』で表示されるダイアログに入力します




プロジェクト作成

プロジェクトは専用のものを使いますので、『その他』から以下を選択して下さい。



プロジェクトを作成したら、CTRL+N でその他より、以下を選択して下さい。



実行してウインドウが表示されたら準備完了です。



テンプレートの修正

メニューバー・タスクバー・ツールバー用のテンプレートは邪魔なだけなので削除します。

MySQL 接続用ライブラリのインストール

Download Connector/J から jar をダウンロードして使用するか、Maven Repository より pom.xml に記述する内容を取得して使用します。

バージョンは、ここでは 5.1.46 を使用しています
( ダウンロードページでは、Looking for previous GA versions? リンクをクリックします )

Maven を使用するには、既存のプロジェクトを変換するのが簡単です。
( プロジェクトを右クリックして『構成』から Maven プロジェクトへの変換 )

Chapter 4 Connector/J Examples

実行ソースコード
package mysql;

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;

import org.eclipse.jface.window.ApplicationWindow;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.TableItem;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.ResultSetMetaData;
import com.mysql.jdbc.Statement;

public class Main extends ApplicationWindow {

	// https://help.eclipse.org/neon/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Findex.html&org/eclipse/swt/widgets/Table.html
	private Table table;

	// https://mvnrepository.com/artifact/mysql/mysql-connector-java/5.1.46
	// https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-examples.html
	private Connection conn = null;
	private Statement stmt = null;
	private ResultSet rs = null;
	private int maxRows = 20;

	public Main() {
		super(null);
		createActions();
	}

	@Override
	protected Control createContents(Composite parent) {
		Composite container = new Composite(parent, SWT.NONE);

		table = new Table(container, SWT.BORDER | SWT.FULL_SELECTION);
		table.setBounds(10, 41, 764, 338);
		table.setHeaderVisible(true);
		table.setLinesVisible(true);

		Button button = new Button(container, SWT.NONE);
		button.addSelectionListener(new SelectionAdapter() {
			@Override
			public void widgetSelected(SelectionEvent e) {
				// 行を全て削除
				table.removeAll();
				loadMySQL("select * from 社員マスタ");
			}

		});
		button.setBounds(10, 10, 75, 25);
		button.setText("実行");

		return container;
	}

	private void createActions() {
		// Create the actions
	}

	public static void main(String args[]) {
		try {
			Main window = new Main();
			window.setBlockOnOpen(true);
			window.open();
			Display.getCurrent().dispose();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	@Override
	protected void configureShell(Shell newShell) {
		super.configureShell(newShell);
		newShell.setText("MySQL Connector/J");
	}

	@Override
	protected Point getInitialSize() {
		return new Point(800, 443);
	}


	private void loadMySQL( String sql ) {

		try {
			// MySQL Connector/J 接続
			conn = (Connection) DriverManager.getConnection(
				"jdbc:mysql://localhost/lightbox?user=root&password="
			);

			stmt = (Statement) conn.createStatement();
			rs = stmt.executeQuery(sql);

			// select の結果の列情報の取得
			ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();

			// 列数
			int columnCount = rsmd.getColumnCount();

			// 前回のテーブル列を全て削除
			int tableColumnCount = table.getColumnCount();
			TableColumn tableColumnWork = null;
			for( int i = tableColumnCount - 1; i >= 0; i--) {
				tableColumnWork = table.getColumn(i);
				tableColumnWork.dispose();
			}

			// 列名
			TableColumn tableColumn = null;
			for( int i = 1; i <= columnCount; i++) {
				tableColumn = new TableColumn(table, SWT.NONE);
				tableColumn.setWidth(100);
				tableColumn.setText(rsmd.getColumnName(i));
			}

			TableItem tableItem = null;
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
			int countRow = 0;
			while( rs.next() && countRow < maxRows ) {

				countRow++;

				String[] columnData = new String[columnCount];

				for( int i = 1; i <= columnCount; i++) {

					if ( rsmd.getColumnTypeName(i).equals("DATETIME") ) {
						columnData[i-1] = sdf.format(rs.getDate(i));
					}
					else {
						columnData[i-1] = rs.getString(i);
					}

				}
				tableItem = new TableItem(table, SWT.NONE);
				tableItem.setText(columnData);
			}

			rs.close();
			stmt.close();
			conn.close();

		} catch (SQLException ex) {
			// handle any errors
			System.out.println("SQLException: " + ex.getMessage());
			System.out.println("SQLState: " + ex.getSQLState());
			System.out.println("VendorError: " + ex.getErrorCode());
		}

	}
}




pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>MySQL_01</groupId>
  <artifactId>MySQL_01</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.46</version>
    </dependency>
  </dependencies>

</project>


関連する記事

WindowBuilder のテーブルコントロールにインターネットから JSON データを読み込んで処理するテンプレート ( 行データをダブルクリックして取得 )




C# アプリケーション作成のトピック

DataGridView ( FORM アプリ )

C# : Excel を データベースとして DataGridView に読み込む
DataTable をレコードセットから作成して、DataSource に設定する最も簡易なパターン

C# : Microsoft Access のテーブルとビューの一覧と任意の SQL を実行するテンプレート


▼ 列を自分で作成
Microsoft Access に対してSQLを入力してその結果を DataGridView に表示する最も簡単なコード
(※ テーブル・ビュー一覧を GetOleDbSchemaTable で作成)


メール ( FORM アプリ )

VS2010(C#) : TKMP.DLLを使った、メール送信テンプレート

(C#) / VS2010 または VS2012 : TKMP.DLL(3.1.2 または 3.1.8)を使った、『さくらインターネット』用メール送信テンプレート


データベース

System.Data.OleDb で select into 構文を使って簡単に Microsoft Access のデータを他の データベースにエクスポートする

C# : System.Data.OleDb で Microsoft Access のデータを読み取る

VS2010(C#) : System.Data.Odbc データ取得(SELECT)処理( MySQL )

VS2010(C#) : データベースを System.Data.Linq.DataContext で読み込んでからの LINQ

WPF(C#) : ExecuteQuery を使って、DataGrid に自動的に select 構文の結果を表示する


COM

C# : dynamic 型 による Excel へのアクセス

C#(VS2010) : dynamic 型を使用して CreateObject と同等に Scripting.FileSystemObject を使用する

VS2010(C#) : COMの Msxml2.ServerXMLHTTP を使用して WEBアプリにバイナリデータを POST する


DataGrid ( WPF アプリ )

VS(C#) : DataGrid に バインドを使用して JSON データの配列を表示する( Json.NET を使用 )

VS2010 WPF(C#) DataGrid + データベース バインド / DataGrid に MDB のデータを読み込んで表示するテンプレート

WPF(C#) : 『DataGrid に、TKMP.DLL を使用して非同期にメールヘッダを受信する』 テンプレート

WPF(C#) : 『DataGrid に、バインド用クラスを使って自動的にカラムと行を生成する』 テンプレート

WPF アプリケーション(VS2010/C#) の Window 間の扱いを知る為のテンプレート

XAML の 各属性を別の行に配置する Visual Studio の設定


DXライブラリ

C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (4)

C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (3)

C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (2)

C# でDXライブラリを使って簡単なシューティングをクラス化して標準化 / メインループとプレイヤー (1)

C# でDXライブラリを使って簡単なシューティング部分を作るサンプル


特殊

iText( itextsharp-all-5.4.3 / C# ) で簡単に PDF 出力をする。

アプリケーションテスト用コンソールアプリ(TryApp)テンプレート

TryAppテンプレートを使って『The Zip, GZip, BZip2 and Tar Implementation For .NET』のテスト

VS2010 Formアプリ(C#) : 通知領域で常駐し、ブラウザのフォームからデータを取得する HttpServer テンプレート

VS2012 Formアプリ(C#) : 通知領域で常駐する HttpServer テンプレート

Framework4.5(C#) のコンソールアプリケーションで、とても簡単に HTTP サーバーを作成できます

Framework4(C#) : WebClient で Post と Get する汎用 static クラス

VS(C#) : Json.NET を使用して文字列形式の JSON をプログラムで参照する具体的な方法

C# コンソールアプリを AN HTTP で実行




Oracle 関連

Oracle は、Oracle 11g (32ビット) です。

Oracle 11g 学習環境の作成 : SQLPlus の環境作成
SET VERIFY OFF
SET SERVEROUTPUT ON
SET LINESIZE 200
SET PAGESIZE 1000
--SET AUTOCOMMIT IMM


Oracle SQLPlusスキーマの作成
create tablespace STUDY
datafile 'C:\APP\LIGHTBOX\ORADATA\ORCL\STUDY.DBF'
	size 5M
	autoextend on
	next 1M
	maxsize unlimited
segment space management AUTO;


Oracle に学習用DB の 販売管理C.mdb をインポートする


※ SQL の窓 オンラインヘルプ




Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition 関連

Pleiades Eclipse 4.7 Oxygen 2 Windows 64bit Ultimate Full Edition のインストールといろいろな準備

▼ 補足情報 
Pleiades Oxygen : Python と Ruby のパースペクティブでワークスペースを開いて最初に現れる『RemoteSystemsTempFiles』を削除する

同梱アプリケーション

▼ Eclipse のプロジェクトから使用するもの
1) Java ( Eclipse 内で JDK 6,7,8,9 が使用可能です )
    ※ WindowBuilder を追加インストール
2) サーブレット&JSP ( Tomcat は 6,7,8,9 が同梱されて選択して使用可能です )
3) php ( php は xampp に入っていますが、既存のものを使用できます )
4) Ruby (Ruby そのものはインストールが必要です)
5) Python (Python の 2 と 3 が同梱されて実行可能)
6) Perl ( php は xampp に入っています )
7) C++/C ( MinGW GCC が入っていてビルドできます )

▼ 環境として使用するもの
★ XAMPP( この中に環境一式があります )
1) Apache
2) MySQL
3) phpMyAdmin ( apache 環境として動作します )
4) sendmail
5) Tomcat ( Pleiades 側とは別に単独で動作します )

追加インストールして利用するアプリケーション

1) FileZilla サーバー
2) MercuryMail ( POP3 と IMAP4 のメールサーバー )

追加環境

テストにはまだまだ使える(重宝する) AN HTTP Server の正しい使用方法

参考リンク

ざっくりJava JSP/サーブレット


Python

▼ ドキュメント
■ 言語
■ ライブラリ
8.11. pprint — データ出力の整然化

▼ アプリケーション
▼ 参考リンク
Chapter 5 Connector/Python Coding Examples
21.2. cgi — CGI (ゲートウェイインタフェース規格) のサポート

PythonのURLとクエリパラメータのパースまとめ
for文を使った繰り返し文の書き方
Python3基礎文法
基礎を復習 (リスト, タプル, ディクショナリ)
Python3系の基礎文法(文字列)


Ruby

▼ ドキュメント
■ 言語
■ 組み込みライブラリ
■ 標準添付ライブラリ
■ class WIN32OLE
■ library cgi
■ class CGI
■ ヒアドキュメント (行指向文字列リテラル)

▼ アプリケーション
▼ 参考リンク
Ruby/MySQL

Ruby(mechanize) で Seesaa のエクスポート
Win32OLE 活用法 【第 1 回】 Win32OLE ことはじめ
CGI(Ruby) / Hello world !
ruby-mysql の使い方の簡単な説明
Mechanize について


CKEditor CDN( full )

正規表現で文字列一括置換ツール

<script src="//cdn.ckeditor.com/4.5.3/full/ckeditor.js"></script>
<textarea name="editor1"></textarea>
<style type="text/css">
.cke_button__mybutton_icon {
	display: none !important;
}
.cke_button__mybutton_label {
	display : inline !important;
}
</style>
<script>
editor = CKEDITOR.replace( 'editor1', {
	allowedContent : true,
	enterMode : CKEDITOR.ENTER_BR,
	enableTabKeyTools : true
} );
editor.on( 'pluginsLoaded', function(){
	editor.addCommand( 'svData', {
		modes : { source : 1,wysiwyg : 1 },
		exec : function( editor )   {
			localStorage["_save_ck_code"] = editor.getData();
		}
	}); 
	editor.ui.addToolbarGroup( "user" );
	editor.ui.addButton( 'mybutton',   {
		label : '入力内容を保存', command : 'svData', toolbar: 'user'
	} );
	var editor_code = localStorage["_save_ck_code"];
	if(typeof editor_code == 'string'){
		editor.setData(localStorage["_save_ck_code"]);
	}
});
</script>
全ての HTML 要素を使用可能にして、P 要素を自動挿入しないようにしています
enableTabKeyTools : true は、テーブル内でタブキーを使用すると次のセルに移動します(デフォルトです)

http://cdn.ckeditor.com/

Tools クラスで、Google Gson + ListView + Preferences + Intent

1) Livedoor の お天気Webサービス API を読み込んで JSON 文字列を取得します
2) Google Gson を使用して、JSON 文字列を Java のオブジェクトの配列に変換します
3) オブジェクトの配列を ArrayAdapter で ListView に表示します
4) メニューから『追加』『修正』『削除』『クリア』『一覧参照』の処理をテストします


5) Click と LongClick のイベントを使って、次画面に画面遷移します
6) Click では、Preferences を使い、LongClick では putExtra でオブジェクトを引き渡します 
7) 次画面では、引き渡した内容を表示して、url のデータで WEBブラウザを開きます


8) 閉じるボタンを使用すると、呼び出し元へデータ(時間文字列)を戻します
9) 呼び出し元の画面で、onActivityResult で受けた場合は AlertDialog で戻されたデータを表示します

Tools クラス

▼ Preferences の場所
 
 

MainActivity
 ... 続きを読む

Java 関連リンク ( 主に Android )

ベーシック

クラス

処理

JSON

参照情報

Android Studio の操作

環境