約 2,924,615 件
https://w.atwiki.jp/kimikage/pages/9.html
@wikiにはいくつかの便利なプラグインがあります。 アーカイブ コメント ニュース 人気商品一覧 動画(Youtube) 編集履歴 関連ブログ これ以外のプラグインについては@wikiガイドをご覧ください = http //atwiki.jp/guide/
https://w.atwiki.jp/kimikage/pages/119.html
ファイル選択ダイアログを表示します。 using Microsoft.Win32; using System.IO; using System.Linq; using System.Windows; namespace WpfApp { /// summary /// MainWindow.xaml の相互作用ロジック /// /summary public partial class MainWindow Window { /// summary /// コンストラクタ /// /summary public MainWindow() { // コンポーネントの初期化 InitializeComponent(); } /// summary /// Click File Open Button /// /summary /// param name="sender" /param /// param name="e" /param private void BtnOpenFile_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); // タイトル openFileDialog.Title = "ファイルを開く"; // 拡張子でフィルタリング"ダイアログに表示する文字|フィルタリング条件①;条件②;..." openFileDialog.Filter = "*.bmp,*.jpg|*.bmp;*.jpg"; // ダイアログを表示 openFileDialog.ShowDialog(); // ファイルが選択されていた場合 if (openFileDialog.FileNames.Length 0) { LblFileName.Content = openFileDialog.FileNames[0]; } } /// summary /// Click Multi Files Open Button /// /summary /// param name="sender" /param /// param name="e" /param private void BtnOpenFiles_Click(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); // タイトル openFileDialog.Title = "複数のファイルを開く"; // 拡張子でフィルタリング"ダイアログに表示する文字|フィルタリング条件①;条件②;..." openFileDialog.Filter = "*.bmp,*.jpg|*.bmp;*.jpg"; // 複数ファイル選択 openFileDialog.Multiselect = true; // ダイアログを表示 openFileDialog.ShowDialog(); // ファイルが選択されていた場合 if (openFileDialog.FileNames.Length 0) { LblFilesName.Content = string.Join(" ", (from fileName in openFileDialog.FileNames select "\"" + new FileInfo(fileName).Name + "\"").ToList()); } } } } サンプルソース
https://w.atwiki.jp/kimikage/pages/113.html
??演算子 ??の左辺の文字列の値がnullの場合、右辺の値を返します string str = null; // メッセージボックスを出力します MessageBox.Show(str ?? "nullです");
https://w.atwiki.jp/kimikage/pages/114.html
拡張メソッド 任意の型の変数に対して、メソッドを追加することができます 例① string str = "あいうえお"; // メッセージボックスを出力します MessageBox.Show(str.GetFirstChar().ToString()); /// summary /// 拡張メソッドクラス /// /summary static class ExMethod { /// summary /// 拡張メソッド /// string型の変数に拡張メソッドを追加します /// /summary /// param name="str" /param /// returns /returns public static char GetFirstChar(this string str) { return str.ToCharArray().FirstOrDefault(); } } サンプルソース 例② int[] intArray = { 1, 2, 3 }; // メッセージボックスを出力します MessageBox.Show(intArray.GetFormatted("D2")); /// summary /// 拡張メソッドクラス /// /summary static class ExMethod { /// summary /// 拡張メソッド /// int[]型の変数に拡張メソッドを追加します /// /summary /// param name="intArray" /param /// param name="formatStr" /param /// returns /returns public static string GetFormatted(this int[] intArray, string formatStr) { return string.Join("", (from val in intArray select val.ToString(formatStr)).ToList()); } } サンプルソース
https://w.atwiki.jp/kimikage/pages/19.html
線だけ描画 import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; public class MainFrm extends JFrame{ /** * */ private static final long serialVersionUID = 1L; public static void main(String[] args) { MainFrm MyFrm = new MainFrm(); MyFrm.setVisible(true); } public MainFrm() { // TODO Auto-generated constructor stub //フレームクローズでプロセスも閉じる。 setDefaultCloseOperation(EXIT_ON_CLOSE); //フレームのサイズ setSize(横幅, 縦幅) setSize(400, 300); //フレームのタイトル setTitle("メインフレーム"); //拡張したパネルを作成 JPanel pnl = new JPanel(){ /** * */ private static final long serialVersionUID = 1L; @Override public void paint(Graphics arg0) { // TODO Auto-generated method stub super.paint(arg0); //四角形を描画:drawRect(x座標, y座標, 幅, 高さ) arg0.drawRect(200, 200, 20, 20); //三角形を描画 int[] x = {100, 110, 120}; int[] y = {100, 80, 100}; arg0.drawPolygon(x, y, 3); //円を描画 arg0.drawOval(150, 100, 30, 30); } }; add(pnl); } }
https://w.atwiki.jp/kimikage/pages/17.html
ボタンをクリックしたらメッセージを表示 import java.awt.Component; import java.awt.Container; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JOptionPane; //JFrameを拡張してMainFrmというクラスを作る。 //MouseListenerインタフェースを追加して、マウスのイベントを受け取れるようにする public class MainFrm extends JFrame implements MouseListener{ /** * */ //eclipseのデフォルトの設定だと警告が出るので、 //eclipseが指示するとおりにserialVersionUIDを追加 private static final long serialVersionUID = 1L; //プログラム起動時に最初に実行される部分 public static void main(String[] args) { //MainFrmというフレームをMyFrmという名前で作る MainFrm MyFrm = new MainFrm(); //フレームMyFrmを表示する。 MyFrm.setVisible(true); } //”new MainFrm()”したときに実行される部分 public MainFrm() { // TODO Auto-generated constructor stub //フレームクローズでプロセスも閉じる。 //この一行が無いとフレームを閉じてもプロセスが実行され続けるので書く setDefaultCloseOperation(EXIT_ON_CLOSE); //フレームのサイズ setSize(横幅, 縦幅) setSize(400, 300); //フレームのタイトル setTitle("メインフレーム"); //ボタンを作成 JButton btn = new JButton("ボタン1"); //this(MainFrmのこと)のMouseListenerインタフェースをbtnに設定する btn.addMouseListener(this); //フレーム内のコンテナにボタンを追加 addComponent(getContentPane(), btn, 0, 0, 2, 1, 2); } //コンテナを指定して、コンポーネントを追加する private void addComponent(Container cont, Component comp, int x, int y, int w, int h, int space){ //コンテナのレイアウトがGridBagLayoutかどうかを判定 if(!cont.getLayout().getClass().equals(GridBagLayout.class)){ //GridBagLayoutでなければ、GridBagLayoutに設定する cont.setLayout(new GridBagLayout()); } //コンテナのレイアウトを取り出す GridBagLayout gbl = (GridBagLayout)cont.getLayout(); //これから追加するコンポーネントの配置方法を指定する GridBagConstraints gbc = new GridBagConstraints(); //コンポーネントがグリッドのセルより小さかったら、引き伸ばして表示するように設定 gbc.fill = GridBagConstraints.BOTH; //コンポーネントを配置するセル:x列目のy行目に幅wセル、高さhセルで表示 gbc.gridx = x; gbc.gridy = y; gbc.gridwidth = w; gbc.gridheight = h; //セルの間にスペース gbc.insets.set(space, space, space, space); //コンポーネントに対する配置方法を登録 gbl.addLayoutComponent(comp, gbc); //コンテナにコンポーネントを追加 cont.add(comp); } //MouseListenerインタフェース-----------------------------------------------------------ここから //クリックされた @Override public void mouseClicked(MouseEvent arg0) { // TODO Auto-generated method stub switch (arg0.getButton()) { case MouseEvent.BUTTON1 if (arg0.getClickCount() == 2){ //ダブルクリックされたら JOptionPane.showConfirmDialog(null, "左ダブルクリック", "Clicked!", JOptionPane.DEFAULT_OPTION); } break; case MouseEvent.BUTTON2 JOptionPane.showConfirmDialog(null, "中クリック", "Clicked!", JOptionPane.DEFAULT_OPTION); break; case MouseEvent.BUTTON3 JOptionPane.showConfirmDialog(null, "右クリック", "Clicked!", JOptionPane.DEFAULT_OPTION); break; default break; } } //マウスポインタがコンポーネント上に入った @Override public void mouseEntered(MouseEvent arg0) { // TODO Auto-generated method stub //JOptionPane.showConfirmDialog(null, "Entered", "Entered!", JOptionPane.DEFAULT_OPTION); } //マウスポインタがコンポーネント上から出た @Override public void mouseExited(MouseEvent arg0) { // TODO Auto-generated method stub //JOptionPane.showConfirmDialog(null, "Exited", "Exited!", JOptionPane.DEFAULT_OPTION); } //マウスのボタンが押された @Override public void mousePressed(MouseEvent arg0) { // TODO Auto-generated method stub //JOptionPane.showConfirmDialog(null, "Pressed", "Pressed!", JOptionPane.DEFAULT_OPTION); } //マウスのボタンが放された @Override public void mouseReleased(MouseEvent arg0) { // TODO Auto-generated method stub //JOptionPane.showConfirmDialog(null, "Released", "Released!", JOptionPane.DEFAULT_OPTION); } //MouseListenerインタフェース-----------------------------------------------------------ここまで }
https://w.atwiki.jp/kimikage/pages/15.html
フレームを表示するだけのプログラム import javax.swing.JFrame; //JFrameを拡張してMainFrmというクラスを作る。 public class MainFrm extends JFrame{ /** * */ //eclipseのデフォルトの設定だと警告が出るので、 //eclipseが指示するとおりにserialVersionUIDを追加 private static final long serialVersionUID = 1L; //プログラム起動時に最初に実行される部分 public static void main(String[] args) { //MainFrmというフレームをMyFrmという名前で作る MainFrm MyFrm = new MainFrm(); //フレームMyFrmを表示する。 MyFrm.setVisible(true); } //”new MainFrm()”したときに実行される部分 public MainFrm() { // TODO Auto-generated constructor stub //フレームクローズでプロセスも閉じる。 //この一行が無いとフレームを閉じてもプロセスが実行され続けるので書く。 setDefaultCloseOperation(EXIT_ON_CLOSE); //フレームのサイズ setSize(横幅, 縦幅) setSize(400, 300); //フレームのタイトル setTitle("メインフレーム"); } }
https://w.atwiki.jp/kimikage/pages/82.html
MySqlの設定 日本語対応 日本語対応としてMySqlのテーブルをutf8で作成するように設定します。 この設定を行わない場合、テーブルから取得した日本語が???などに文字化けしてしまいます。 ①my.cnfを編集(文字コードをutf8に設定) # vi /etc/my.cnf ②mysqldを再起動 # service mysqld restart ③データベースを作成 ログイン # mysql -u root -p データベース作成 create database データベース名; 例) create database test_db; データベースへ移動 use データベース名; 例) use test_db; データベースのステータスを表示(文字コードがutf8であることを確認) status; データベースエンジンの変更 MySqlのテーブルの作成を行った場合、デフォルトはMyISAMエンジンを使用する設定となっています。 MyISAMエンジンは、パフォーマンスが高いらしいのですが、トランザクションが使用できないようです。 そこで、ここでは、テーブルのエンジンをトランザクション制御が行えるInnoDBエンジンに変更する方法について書きます。 ログイン # mysql -u root -p データベース作成 create database データベース名; データベースへ移動 use データベース名; テーブル作成 create table テーブル名(カラム名 型 その他プロパティ,...); 例) create table test(col1 varchar(10) primary key not null, col2 varchar(20)); データベースエンジンの設定および説明の表示 show engines; テーブルのエンジンの表示(EngineがMyISAMであることを確認) show table status; テーブルのエンジンを変更 alter table テーブル名 engine = InnoDB; 例) alter table test engine = InnoDB; テーブルのエンジンの表示(EngineがInnoDBに変更されたことを確認) show table status; トランザクションが有効になっていることを確認 トランザクションの開始 start transaction; 行レベルの更新・登録・削除処理を実行 insert into テーブル名 values(カラムの値1,カラムの値2,...); 例) insert into test values( test , test ); 追加された行を参照 select * from テーブル名; 例) select * from test; ロールバック(warningが出力されないことを確認) rollback; ※MyISAMの場合、ロールバック時に以下の警告が出力されロールバックが正常に行われない warning code 1196 | message Some non-transactional changed tables couldn t be rolled back 変更がロールバックされていることを確認 select * from テーブル名; MySqlを終了 exit; mysqldを再起動 # service mysqld restart
https://w.atwiki.jp/kimikage/pages/78.html
環境設定 OS CentOS 5.4 MySql Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (x86_64) PHP 5.1.6 httpd 2.2.3 versionの確認方法 # cat /etc/redhat-release # mysql -V # php -v # httpd -v ①Linuxのインストール CentOS 5.4(VMで遊んでいたときのヤツがHDDに残っていたのでそれを流用) ②MySqlのインストール # yum -y install mysql* ③Apache(httpd)のインストール # yum -y install httpd* ④PHPのインストール # yum -y install php php-mysql ⑤IPアドレス関連の設定 IPアドレスの確認 # ifconfig IPアドレスの変更 # ifconfig eth0 192.168.11.4 サブネットマスクの変更 # ifconfig eth0 netmask 255.255.255.0 ゲートウェイの確認 # route ゲートウェイの追加 # route add default gw 192.168.11.1 DNSの設定 # vi /etc/resolv.conf DNSを設定 --resolv.conf-- nameserver 192.168.11.1 --resolv.conf-- ⑥ファイアウォールの設定 iptablesを使用する場合 設定の確認 # iptables -L 設定をクリア # iptables -F INPUTを全て拒否 # iptables -P INPUT DROP FORWARDを全て拒否 # iptables -P FORWARD DROP OUTPUTを全て許可 # iptables -P OUTPUT ACCEPT 外部へ公開する気はさらさら無いので、接続をLAN内に限定してINPUTのポート80(http)と22(ssh)を許可 # iptables -A INPUT -s 192.168.11.0/24 -d 192.168.11.0/24 -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -s 192.168.11.0/24 -d 192.168.11.0/24 -p tcp --dport 22 -j ACCEPT もしも追加を間違えたら以下のコマンドで削除 # iptables -D INPUT 行番号 設定の保存 # service iptables save サービスの再起動 # service iptables restart system-config-securitylevelを使用する場合 system-config-securitylevelのインストール # yum -y install system-config-securitylevel system-config-securitylevelの実行 # system-config-securitylevel カスタマイズ画面で「SSH」と「WWW(HTTP)」にチェックを付ければOK 接続元のIPアドレスを限定したい場合はiptablesを使うしかない気がする ⑦サービスの開始 httpdの開始 # service httpd start MySqlの開始 # service mysqld start httpdの自動開始設定 # chkconfig httpd on MySqlの自動開始設定 # chkconfig mysqld on MySqlの起動確認 MySql接続 # mysql rootパスワードの設定 # mysql set password for root@localhost=password( パスワード ); exit; # mysql -u root -p でログインできればOK Apacheの起動確認 ブラウザで http //IPアドレス/ に接続してApacheのテストページが表示されればOK PHPの起動確認 テストページの作成 # vi /var/www/html/index.php --index.php-- html head title テストページ /title /head body ?php phpinfo(); ? /body /html --index.php-- ブラウザで"http //IPアドレス/"に接続して、PHPの情報ページが表示されればOK
https://w.atwiki.jp/kimikage/pages/7.html
アーカイブ @wikiのwikiモードでは #archive_log() と入力することで、特定のウェブページを保存しておくことができます。 詳しくはこちらをご覧ください。 =>http //atwiki.jp/guide/25_171_ja.html たとえば、#archive_log()と入力すると以下のように表示されます。 保存したいURLとサイト名を入力して"アーカイブログ"をクリックしてみよう サイト名 URL