SSブログ

男おひとりさま道 [読書]

男おひとりさま道 (文春文庫)

男おひとりさま道 (文春文庫)

  • 作者: 上野 千鶴子
  • 出版社/メーカー: 文藝春秋
  • 発売日: 2012/12/04
  • メディア: 文庫
 
男がひとりになるのは、「死別シングル」「離別シングル」「非婚シングル」の3種類があるということ。それぞれの生き方を豊富な例で詳しく書かれている。自分も「離別シングル」のため多くの点で参考になった。定年になる前に考えておくこと、定年後の生き方、他人とのつきあい方など。楽しい「男おひとりさま」生活を過ごす参考となった。
 

割れOS? [メモ]

元々はWarez(ウェアーズ)という、ライセンス認証を不正に改変、キーを不正入手することで非合法的にソフトを利用することを言います。
これをローマ字読みすると「ワレズ」と読めるので、そこから略して「割れ」というようになりました。

Warez(ウェアーズ)とはインターネットなどを用いて非合法に配布・販売されている商用ソフトウェアのこと、あるいは非合法な方法でソフトウェアなどをやりとりする行為の総称である。"ware"に"z"を付けた言葉。
かつて日本ではWarez行為を行う者は故意にローマ字読みで「ワレザー(Warezer)」と呼ばれていた。現在、日本においてWarezが配布されているところは主にWinnyなどのファイル共有ソフトであり、その行為をする利用者も、「ワレザー」や、さらに侮蔑的な「ワレ厨」と呼ばれることがある。

 

参考サイト


生き残るメディア 死ぬメディア [読書]

生き残るメディア 死ぬメディア 出版・映像ビジネスのゆくえ (アスキー新書)

生き残るメディア 死ぬメディア 出版・映像ビジネスのゆくえ (アスキー新書)

  • 出版社/メーカー: アスキー・メディアワークス
  • 発売日: 2010/12/09
  • メディア: Kindle版
 
 電子書籍から現在の動画サイトの状況の盛り上がり、そして今後のメデイアの動向について、そしてこれからのメディアのゆくえについて様々な視点から書いている。
これから起きるメデイアの未来がどうなるのか。。。とても興味のあるテーマである。
興味があるのでこのテーマに関してのいろいろな本を読むようにしてるが、なかなか決定的な方向性を確信する事が出来ない。
この本は、そのなかでも信頼できる分析をしている気がする。


虚言と虚飾の国・韓国 [読書]

虚言と虚飾の国・韓国 (WAC BUNKO)

虚言と虚飾の国・韓国 (WAC BUNKO)

  • 作者: 呉 善花
  • 出版社/メーカー: ワック
  • 発売日: 2012/09/21
  • メディア: 新書
 
日本に帰化した韓国人女性の韓国論。
韓国人の考え方、行動の基本について良く理解できる。
最近、日韓の間で起きている、さまざまなトラブルの原因を知りたいと思ったら読む価値がある。
 

VBプログラミングチップス(文字列操作) [開発環境]

◆Convert メソッド

  • ChangeType    オーバーロード。 指定したオブジェクトと等価の値と指定した型を持つObject を返します。
  • FromBase64CharArray    base 64 の数字で構成される Unicode 文字配列の指定サブセットを等価の 8 ビット符号なし整数の配列に変換します。パラメータにより、入力配列のオフセットとしてのサブセットと、変換する配列の要素の数が指定されます。
  • FromBase64String    base 64 の数字で構成される指定した String 形式の値を等価の 8 ビット符号なし整数の配列に変換します。
  • GetTypeCode    指定したオブジェクトの TypeCode を返します。
  • IsDBNull    指定したオブジェクトの型が DBNull かどうかを示す値を返します。
  • ToBase64CharArray    8 ビット符号なし整数の配列を等価の base 64 の数字で構成される
  • Unicode 文字配列サブセットへ変換します。パラメータにより、入力配列および出力配列のオフセットとしてのサブセットと、変換する入力配列の要素の数が指定されます。 
  • ToBase64String    オーバーロード。 8 ビット符号なし整数配列の値を、base 64 の数字で構成される等価の String 形式に変換します。 
  • ToBoolean    オーバーロード。 指定した値を等価のブール値に変換します。  
  • ToByte    オーバーロード。 指定した値を 8 ビット符号なし整数に変換します。
  • ToChar    オーバーロード。 指定した値を Unicode 文字に変換します。
  • ToDateTime    オーバーロード。 指定した値を DateTime に変換します。
  • ToDecimal    オーバーロード。 指定した値を Decimal の数値に変換します。
  • ToDouble    オーバーロード。 指定した値を倍精度浮動小数点数に変換します。
  • ToInt16    オーバーロード。 指定した値を 16 ビット符号付き整数に変換します。
  • ToInt32    オーバーロード。 指定した値を 32 ビット符号付き整数に変換します。
  • ToInt64    オーバーロード。 指定した値を 64 ビット符号付き整数に変換します。
  • ToSByte    オーバーロード。 指定した値を 8 ビット符号付き整数に変換します。
  • ToSingle    オーバーロード。 指定した値を単精度浮動小数点数に変換します。
  • ToString    オーバーロード。 指定した値を、それと等価な String 形式に変換します。
  • ToUInt16    オーバーロード。 指定した値を 16 ビット符号なし整数に変換します。
  • ToUInt32    オーバーロード。 指定した値を 32 ビット符号なし整数に変換します。
  • ToUInt64    オーバーロード。指定した値を 64 ビット符号なし整数に変換します。

参考サイト


Marshal.PtrToStructure メソッド (IntPtr, Type) VBコーディングで悩んだこと [開発環境]

C#版のサンプルコードを参考にVBでコーディングしても、期待した結果が得られなかった原因がMarshal.PtrToStructure の使用方法にあったので記録しておく。

CTypeを使用し、指定の構造体型に式を変換する必要があった。


' マネージ構造体を作成し、アンマネージ メモリに転送した後、PtrToStructure メソッドを使用してマネージ メモリに再度転送するコード例。


Imports System
Imports System.Runtime.InteropServices

' 構造体
Public Structure Point
    Public x As Integer
    Public y As Integer
End Structure


Module Module1

    Sub Main()
       ' 構造体の宣言
        Dim p As Point
        p.x = 1
        p.y = 1

        Console.WriteLine("The value of first point is " + p.x.ToString + " and " + p.y.ToString + ".")

       ' 構造体用のアンマネージメモリを確保
        Dim pnt As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(p))

        Try

           ' 構造体をアンマネージメモリにコピー
            Marshal.StructureToPtr(p, pnt, False)

            ' 別の構造体宣言
            Dim anotherP As Point

           ' アンマネージデータをマネージ構造体にマーシャリング(データ変換)
            anotherP = CType(Marshal.PtrToStructure(pnt, GetType(Point)), Point)
           
' C#の場合、以下の記述となるので要注意
            ' anotherP = (Point)Marshal.PtrToStructure(pnt, typeof(Point));
            ' または
            ' Marshal.PtrToStructure(pnt, anotherP.GetType());
            ' となるので注意

            Console.WriteLine("The value of new point is " + anotherP.x.ToString + " and " + anotherP.y.ToString + ".")

        Finally
           ' アンマネージメモリの解放
            Marshal.FreeHGlobal(pnt)
        End Try

        Console.ReadKey()
    End Sub

End Module

 

 

参考サイト


VBプログラミングチップス(Marshal) [開発環境]

◆System.Runtime.InteropServices.Marshall

アンマネージ メモリの割り当て、アンマネージ メモリ ブロックのコピー、マネージ型からアンマネージ型への変換などができる。

Copyメソッド

  • Marshal.Copy (Byte[], Int32, IntPtr, Int32)    "1 次元の 8 ビット符号なし整数のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (Char[], Int32, IntPtr, Int32)    "1 次元の文字列のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (Double[], Int32, IntPtr, Int32)    "1 次元の倍精度浮動小数点数のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (Int16[], Int32, IntPtr, Int32)    "1 次元の 16 ビット符号付き整数のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (Int32[], Int32, IntPtr, Int32)    "1 次元の 32 ビット符号付き整数のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (Int64[], Int32, IntPtr, Int32)    "1 次元の 64 ビット符号付き整数のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, Byte[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを 8 ビット符号なし整数のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, Char[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを文字列のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, Double[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを倍精度浮動小数点数のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, Int16[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを 16 ビット符号付き整数のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, Int32[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを 32 ビット符号付き整数のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, Int64[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを 64 ビット符号付き整数のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr, IntPtr[], Int32, Int32)    アンマネージ メモリ ポインタのデータをマネージ IntPtr 配列にコピーします。
  • Marshal.Copy (IntPtr, Single[], Int32, Int32)    "アンマネージ メモリ ポインタのデータを単精度浮動小数点数のマネージ配列にコピーします。
    .NET Compact Framework によってサポートされています。"
  • Marshal.Copy (IntPtr[], Int32, IntPtr, Int32)    1 次元のマネージ IntPtr 配列のデータをアンマネージ メモリ ポインタにコピーします。
  • Marshal.Copy (Single[], Int32, IntPtr, Int32)    "1 次元の単精度浮動小数点数のマネージ配列のデータをアンマネージ メモリ ポインタにコピーします。
    .NET Compact Framework によってサポートされています。"

 

参考サイト


プロセス間通信の特徴 [開発環境]


同期機能

◆クリティカルセクション

同時には一つのスレッドだけがリソースにアクセスするような複数スレッド間同期に用いられる。クリティカルセクションは同一のプロセス内のスレッド間でのみ利用できる。

◆ミューテックス

共有リソースにアクセスできるスレッドを同時には一つに制限するための同期オブジェクト。複数プロセスにまたがって使用できる。

◆イベント

プロセス/スレッド間で「待ち」「通知」を行うための同期オブジェクト

◆セマフォ

共有リソースに同時にアクセスできるスレッドの数を「一定数以下」という形で設定できる同期オブジェクト。


通信機能

◆共有メモリ

原始的なプロセス間通信で、普通のメモリのようにアクセスできるメモリです。 プロセスはプロセス固有のアドレス空間を持っていますが、共有メモリに確保されたメモリは 特別の空間で、プロセス間で共有されます。

プロセス間通信で最もシンプルで高速なものではないかと思います。使い道としては複数のプロセスでデータを共有したり、メッセージやフラグとして使用するのにも良いと思います。

◆メールスロット

メッセージをランダムにポストするプロセス/スレッドとそれを受け取って順次処理するプロセス/スレッドの組み合わせを構成する通信機能。

メールスロットはいわば簡易メッセージキューであり,メッセージの到着を待ち受けるプロセスと,メッセージをポスト(発信)するプロセスの間を取り持ってくれる仕組みである。送信側プログラムが送り出した「メッセージ」が次々とメールスロットにポストされ,読み出し側プログラムはそれを順に取り出して処理することができる。

 図1 メールスロット

メールスロットはサービスプロセスに次々と情報を投入し収集させるといった場面で利用できる。ただし,接続先を強く意識した処理,とくにアクセスコントロールについてはメールスロットへの書き込みを特定のアカウントに制限できるといったことだけであり,きめ細かな処理を行う場合には名前付きパイプの方が向いている。

◆名前付きパイプ

複数のプロセス/スレッド間で双方向の通信チャネルを開設できる通信機能

「名前付きパイプ」はシステム上の複数プロセスが双方向にデータを交換できる通信チャネルである。生成時に設定する上限の個数の範囲内で同時に複数の名前付きパイプを設けることができ,1つのサーバプログラムが複数のクライアントプログラムと通信することが可能である

 図2 名前付きパイプ

名前付きパイプを使うときには,メールスロットと同じように「メッセージ」の単位で通信をするモードと,バイトストリームとして読み書きするモードの2つのモードが選べる。

 

参考サイト


50代から上手に生きる人ムダに生きる人 [読書]

 
50代から上手に生きる人 ムダに生きる人: 「徒然草」に学ぶ後悔しない人生 (知的生きかた文庫)

50代から上手に生きる人 ムダに生きる人: 「徒然草」に学ぶ後悔しない人生 (知的生きかた文庫)

  • 作者: 清水 義範
  • 出版社/メーカー: 三笠書房
  • 発売日: 2012/12/22
  • メディア: 文庫
 
「徒然草」からの引用を用いて独自の考え方を展開している。「50代は楽しくなくちゃいけない」、「身軽に気軽に生きてみる」それに定年に向けて今から準備しておくべき事など、具体的な内容から、心構えなどためになった。
 

phpMyAdminを使う(テーブル作成編) [WEBサービス]

1. テーブルの作成

「データーベース」タブをリックし、テーブルを作成するデーターベースを選択します。

image

テーブル管理画面が表示されるので、テーブル名とカラム数を入力します。

テーブル名”test_user_tb”、カラム数”3”を入力し「作成」ボタンを押します。

image

作成するテーブルの詳細設定画面が現れるので、必要な個所を設定し「保存する」ボタンを押します。

今回は以下の値を設定しました。データ型の詳細について以下参照。

http://kozy.heteml.jp/pukiwiki/MySQL%2520%25A5%25C7%25A1%25BC%25A5%25BF%25B7%25BF/index.html

列名 データ型 説明
user_id int(4) 4ケタまでの整数
user_name varchar(100) 100文字までの文字列
user_email varchar(100) 100文字までの文字列

image

“sample_db”に"test_user_tb"テーブルが登録されました。

image

以上でphpMyAdminの使うシリーズは終了です。

 

参照サイト


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。