サンデープログラマー
パソコンにまつわるいろいろ
カレンダー
<< 2013年10月 >>
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

最新の記事

最新のコメント

カテゴリ

過去の記事一覧


2013年10月の記事一覧


 ASP.NETでデータベースを利用するのは、実に簡単だ。データベースを選択してフィールドを作る。フォームに表示の為のコントロールを配置する。後は、接続や操作の為に、簡単な設定をすれば、それで一応使えてしまう。

 そんなアプリケーションを作って、コピーするが、コピーすると、データベースが読み取り専用だと叱られる。ネットをググるが、なかなかズバリと言うのに出くわさない。幾つか探して、合わせると答えが見えてきた。

 要は、新しくASPNETとか、そんな名前のグループを作る。そいつに書き込み許可を与える。たったこれだけなのだが、結構試行錯誤するはずだ。

**グループの追加**
プログラムとファイルの検索にmmcと入力。
ファイル、スナップインの追加と削除、ローカル ユーザーとグループ、追加、ローカルコンピュータ、完了、OK。
左ペインでグループ選択、右クリック、新しいグループ、グループ名、ASPNETと入力、作成。

**書き込み許可**
IISマネージャでデータベースを選択して、右ペインでアクセス許可の編集、セキュリティー、編集、追加、名前の確認、OK。
そのASPNETに書き込み権限を与える。めでたしめでたし。

posted by おやじ at 2013/10/24 13:30
コメント(0)  トラックバック(0)

 「いいね!」のクリックをページに貼り付けるのが、面白そうだ。調べると、FaceBookのコードを張り付ければ、実現できそうだ。それを自前で作れないか、そう考えるのは、プログラムを楽しむサンデープログラマーにとって、当然の事だ。

 クリックしたら、そのカウントを数える。イベントドリブンのASP.NETで組めば、Hello World並みで、難しさは全くないだろう。Javaでも行けるかも知れない。PHPでは、どうか。ちょと詰まるね。

 そこで考えた。まず必要な情報は何か。いろいろなページに貼り付けるとして、ページのURL、次に日付、件数、できれば、IPアドレスかな。となると、思い出す。PHPの学習でお世話になった、「PHPによるWebアプリケーションスーパーサンプル」の本だ。そのログがそのまま使えるではないか。つまり、クリックしたら、それを記録する。すでに出来たも同然だ。

 と言う事で、「いいね!」の画像を準備して、HTMLにコードを書く。
<form action="log.php" method="get">
<input type="image" src="good.png" value="submit" />
</form>
てな具合だ。だがこれでは、クリックした途端、画面が切り替わる。ならば、「いいね!」をフレームに押し込もう。そんな事で作ってみた。

 まず、index.htmlに入れ物をフレームで作る。
<body>
<iframe src="goodlog.html" width="100px" height="40px" marginwidth="0px" scrolling="no">
</iframe>
</body>

 それを受け、「いいね!」ボタンのgoodlog.htmlを作る。
<body>
<form action="log.php" method="get">
<input type="image" src="good.png" value="submit" />
</form>
</body>

 log.phpは、ちょこっとコードを追加したのを使う。
<?php
require "config.php";
$conn = mysql_connect($sv, $user, $pass) or die("接続エラー");
mysql_select_db($dbname) or die("接続エラー");
$log_date = date("Y-m-d");
$log_time = date("H:i:s");
$log_ip = getenv("remote_addr");
$log_url = getenv("http_referer");
$sql = "INSERT INTO log ("
    . " log_date, "
    . " log_time, "
    . " log_ip, "
    . " log_url "
    . ") values ("
    . "'" . $log_date . "',"
    . "'" . $log_time . "',"
    . "'" . $log_ip . "',"
    . "'" . $log_url . "'"
    . ")";
mysql_query($sql, $conn);
mysql_close($conn);
include "goodlog.html";
?>

 付録のconfig.phpには、接続の為の情報だ。
<?php
$sv = "localhost";
$dbname = "test";
$user = "root";
$pass = "password";
?>

 MySQLのデータベースは、
>mysql -u root -p で接続したのち、
>create database test;
>use test;
>CREATE TABLE log (
  log_date date NOT NULL default '0000-00-00',
  log_time time NOT NULL default '00:00:00',
  log_ip varchar(50) default NULL,
  log_url varchar(255) default NULL
);
とすればよい。

 後は、クリックした後の飾りとか、いろいろ工夫だね。

posted by おやじ at 2013/10/23 10:08
コメント(0)  トラックバック(0)

 Windows8.1がリリースされた。Windows8を持っていれば、無償でダウンロードできる。ファイルの大きさは、3Gバイトを超える大きさなので、そこそこ時間は、掛かる。すんなり、バージョンアップできるかと思えば、VirtualPCでつまづいた。10月5日のブログに有るが、仮想OSとしてLinuxが入っている。これをネットに接続する為に、「Network Bridge」を組んだが、そこの処理が、自動では上手くやってくれていない。悪い事に、本家のExplorerですら、ネットに接続できなくなってしまった。

 ネットワークのプロパティーを開き、アダプターの設定の変更を開く。問題を起こしている接続を、さらにプロパティを開き削除する。それだけでは、繋がらず、残った接続もプロパティを開き、インストールをやり直す。そんな事をして、無事再開となる。

 次は、Apacheは、起動できず、ポート80は、既にシステムに使われているとある。Skypeが、ポート80をデフォルトで使うので、ポートを移動するが、事態は変わらない。次にIISをしたべると、いつの間にか、起動していた。そんな事したなか? そんな疑問を持ちつつ、停止する。今度は、無事起動した。同じような状況をWindows7で経験したが、その時は、Microsoft Security Essentialsが、ポート80を使って居た。何か、Windowsも問題点有りだよね。

 Windows8.1は、スタートボタン位置に、ボタンが出来るが、ユーザーが期待したスタートボタンとは違う。あくまで、プログラムの起動は、タイルメニューでやれと言う事らしい。今回のトラブルでもそうだが、問題の対応の為に、システム関連のプログラムを動員したい。だが、それらは、タイルには無い。別の言葉で言えば、使いづらい。メールとか、インターネットとか、それしかやらないユーザーには、タイルはデカくて使いやすいかも知れないが、パソコンをいろいろ使おうとする人には、使いづらい構成だ。

 そこで、ClassicShellの導入となる。最新版をダウンロードしてインストールする。別段問題も無く、インストールは完了する。やっぱり、スタートボタンは、手放せないね。

 Windows8.1自体は、確かに進化して居る様だ。PowerShellも付属する。試しに、Linuxの様に、lsとコマンドを打つと、ちゃんと答えるではないか。ClassicShellを導入すれば、Windows7に先祖帰りする必要は、なくなる。むしろ、強力に進化したWindows8.1は、頼もしい位だ。

 パソコンは、CPUが命。市販のノートパソコンのスペックを見れば、そのスペックは、低いのが一般的。そうしたピカピカだが、おもちゃの様なパソコンには、どうでも良い様なCPUが乗っている。そのCPUの値段をkakaku.comで調べれば、何万円のマシンですら、わずか3か4千円だ。周りを見れば、実に多くの人がそうしたカッコだけのパソコンを選択する。4コア8CPUでの処理を実現する高性能のi7は、自作に限るね。

 もっとも、メールとインターネットでは、i7の処理能力は、必要ないけどね。必要になるのは、仮想OSの導入でしょうか。パソコン上に同時にいくつものOSを走らせる。一つが、大体15%くらいの資源を使う。となると、4つも乗せると、4コアの処理は必須となりますね。その目的には、Windows7では、実現できなかったバーチャルな世界が、Windows8.1では、実現できるし、OSでそれを完全にサポートしている。

 Windows8と8.1では、何が違うのか。正直、言われれば、確かにその点はそうだが、実の所良く分からない。それが、本音かな。Windows8のままでも良いが、8.1なら、細かい所が改良されていると言うのが、本当の所の様だ。そう考えるに、バージョンアップに、損は無さそうだ。

posted by おやじ at 2013/10/21 09:45
コメント(0)  トラックバック(0)

 ASP.NETは、まだ駆け出しだ。何が困るって、適切なマニュアルが無い事だ。Helpをひも解いても、例文も無い。あれでは、単語を並べた単なる表だ。その表からは、何もわからない。この辺は、VB6.0のHelpを踏襲すべきだ。

 Web Developerで使うBasicもVisual Basic NET と比べると、同じ2010シリーズでも、やはり単語が違う。9月にVisual Basic NET を始めた新参者には、別の言語の様に映る。

 だが、ASP.NETのデザインとコードの分離は、徹底してると思う。PHPやJavaでは、組みずらい事が、始めたばかりの新参者でも組める。このBasicに馴れれば、大きなシステムでも組めそうな予感がする。分離される事で、見た時に、間違いも分かり易いし、他人のプログラムも良い所取り出来そうだ。サンデープログラマーとすれば、そこが大事な所だ。

 と言う事で、アンケートの例を頭に描き、使い勝手を調べた。部品の配置は、Panelを使うと良さそうだ。まず、Panelを幾つか配置する。その中に部品を入れる。部品は、PanelのプロパティーでHorizontalAlignを使ってPanel内の位置を決める。10月15日のブログのレイアウトもPanelで試してみると、ちゃんと機能する。だが、Panelの言う事を聞く部品と知らん顔の部品がある。知らん顔する部品は、ソースを開き、Align="center"などと指示をする必要がある。この辺が、まだ未完成なのかな。

 以下に、作った画面とコードを掲げる。データベースの問題が片付いていないが、ファイルを使う事で、9月20日の「ApacheでASPを使う」を利用して、Apache上で動作を確認できる。



'Headerの所から抜粋
<head runat="server">
    <title></title>
    <style type="text/css">
        .newStyle1
        {
            font-size: large;
            text-align: center;
            color: #0000FF;
        }
        .newStyle2
        {
            font-size: small;
            color: #00FF00;
        }         
        .secondary
        {
            float:right;
            margin-top:10px;
            background-color:#f9cfba;
            height:70px;
        }
        .primary
        {
            float:left;
            margin-top:10px;
            background-color:#c7d5ed;
        }
    </style>
    </head>
    <body>        
        <form id="form1" runat="server">
        <asp:Panel ID="Panel1" runat="server" CssClass="newStyle1">
            アンケートの収集(模擬Webパネル)<br /> 内容は、何も無いよ!<br />
            <br />
        </asp:Panel>
        <asp:Panel ID="Panel2" runat="server">
            <asp:RadioButtonList ID="RadioButtonList1" runat="server" align="center"
                CssClass="newStyle2">
                <asp:ListItem>項目の選択1</asp:ListItem>
                <asp:ListItem>項目の選択2</asp:ListItem>
                <asp:ListItem>項目の選択3</asp:ListItem>
                <asp:ListItem>項目の選択4</asp:ListItem>
            </asp:RadioButtonList>
        </asp:Panel>
        <asp:Panel ID="Panel3" runat="server" HorizontalAlign="Center">
            <br />
            <asp:Button ID="Button1" runat="server" Text="回答" />
        </asp:Panel>
        <asp:Panel ID="Panel4" runat="server" Width="610px">
            <asp:Panel ID="Panel5" runat="server" Width="200px" CssClass="primary">
                Primary</asp:Panel>
            <asp:Panel ID="Panel6" runat="server" CssClass="secondary" Width="400px">
            Secondary</asp:Panel>
        </asp:Panel>
        </form>        
    </body>


'ここからコード
    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        If RadioButtonList1.SelectedIndex <> -1 Then
            Dim fileno As Integer
            fileno = FreeFile()
            FileOpen(fileno, "d:\Express_for_Web\test14\test.txt", OpenMode.Append)
            PrintLine(fileno, RadioButtonList1.SelectedIndex.ToString)
            FileClose(fileno)
        End If
    End Sub

posted by おやじ at 2013/10/20 07:13
コメント(0)  トラックバック(0)

 あれ? どうなっているんだ。

 機能的Webページを作るには、PHPやJavaを動員するのが、主流だ。だが、ASP.NETが持つ魅力は、それを凌駕するかも知れない。そんな予感がした。それが故か、ASP.NETを勉強する気になった。

 
 ちょっと大き目なシステムを組もうと考えると、PHPやJavaで組むには、相当の技量を要求される。ASP.NETなら、Visual Basicの延長で、だらだらコードを書けば、何か出来上がる気さえする。と言う事で、ASP.NETの勉強をスタートした。

 まず、Visual Basicの延長なら、演算処理が得意の筈。その結果を文字やグラフや画像で表示する。ツールボックスには、それを可能にするツールが並ぶ。文字、Chartなど沢山ある。その数は、かつてのVB6.0の比では無い。これらを使えば、グラフも簡単に出来そうだ。所が、便利な、PictureBoxが無い。どうやって、図形などの結果を表示しようか。その代役として、無理やりにも、ツールのImageを使うか。と言う事で、Imageをいじる。

 まず、簡単に、ボタンをクリックすれば、直線を表示する。そこまでを考える。

 プログラムは、

    Protected Sub Button2_Click(sender As Object, e As System.EventArgs) Handles Button2.Click
        Dim img = New Drawing.Bitmap(400, 400) '入れ物準備
        Dim g = Drawing.Graphics.FromImage(img) 'ツールの準備
        g.FillRectangle(Drawing.Brushes.White, 0, 0, 400, 400) '白で
        g.DrawLine(Drawing.Pens.DeepPink, 20, 20, 400, 400) '直線

 これで、imgには、直線が出来たはずだ。これをツールで貼り付けたImage1コントロールに代入すれば、表示されると思った。これが、まず始めの誤り。

 いろいろ調べると、コントロールのImage1には、URLは入るが、イメージそのものを直接入れる事は出来ないらしい。やむなく、ファイルを経由して表示させると言うウルトラカッコ悪い方法を心みる事になる。まず、イメージファイルの作成だ。上記のリストに続けて、

        img.Save("d:\Express_for_Web\test14\image\TEST.png", System.Drawing.Imaging.ImageFormat.Png)

 として見た。画像は、出来た。となれば、次は、

        Image1.ImageUrl = "./image/TEST.png"
        g.Dispose()
   End Sub

 で表示される。一応、繕ったが、なんとも可笑しなプログラムだ。まず第一に、何でファイルを経由しなければならない。ネットをググるが、まだ、解決に至らない。次に、ファイルのパスだ。Saveでは、Windowsの「¥」を使い、他では、「/」とは、妙な組み合わせだ。

 前途多難か、はたまた、こんなコードでも動くすごい事なのか、ろくなマニュアルが無い中、手探りは当分続きそうだ。

posted by おやじ at 2013/10/19 08:18
コメント(0)  トラックバック(0)

 いつの間にか、CDROMの枚数も増え、整理が必要になる。その中に、「WindowsPE」とラベルが付いたCDROMが見つかった。

 WindowsPEは、Microsoftが無料で提供する32ビットWindows Systemで、Windows をインストールするためのコンピュータの準備、ネットワーク ファイル サーバーからのディスク イメージのコピー、Windows セットアップの開始などを行うために、言うなれば、Windowsを導入するためのWindowsみたいな役割の為に作ったシステムだ。

 このディスクを作った目的は、以前、Windows2000のハードディスクをイメージバックアップする為に作った。

 操作は、このCDROMで立ち上げ
>ImageX /capture c: d:\recovery.win "win2000" /verify /compress max

 とやる。

 リストアは、
>format c: /fs:ntfs /q
>bootsect /nt60 c:
>imagex /apply e:\recovery.win 1 c: /verify

 などと進める。ドライブレターは、パソコンの構成で変わる。

 いろいろな、無償のバックアップを試したが、結局これが、確実で早いので、使って居た。来年の4月8日を最後に、WindowsXPのサポートが打ち切られる。そんなパソコンをLinuxに切り替える事も多いでしょう。そんな時に、このCDROMが再び、役に立ちそうだ。

 手元に有るWindowsPEは、バージョンが1.0なのか、2.0なのか書かれていないが、今調べると、入手できるのは、Vistaベースのバージョン2.0の様だ。どうやら進化している。ネットで調べると、解説記事も多い。再び、役に立つ時が近そうだ。このCDROMは、キープしておこう。

posted by おやじ at 2013/10/17 10:08
コメント(0)  トラックバック(0)

 ツールとしてのWeb Developer 2010 は、HTMLとスタイルシートを同時に使う編集作業には、古いバージョンのホームページビルダーより、確実に良さそうですね。何せ、編集段階でCSSファイルへの変更が反映されますので。

 本箱をあさると、平成18年発行の「スタイルシート上級レイアウト」の解説本が出て来た。改めて、Web Developer 2010 を使って、やながら読み直すと、実に分かり易く、勉強になりますね。当時は、こんな簡単には、理解できなかった。そんな記憶が有ります。やっぱり、ツールは大事ですね。

 レイアウトに関して、結論として、この本では、positionよりfloatを使えと言う事なんでしょうか。2つの比較を載せますね。

Positionの場合、
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link rel="Stylesheet" type="text/css" href="StyleSheet4.css" />
</head>
<body>
    <div id="wrapper">
        <div id="header"><br />ここがHeader<br /></div>
        <div id="container">
            <div id="primary"><br />Primary<br /></div>
            <div id="secondary"><br />Secondary<br /></div>
        </div>
        <div id=container2">
            <div id="footer"><br />Footer<br /></div> 
        </div>
    </div>
</body>
</html>

CSS:
body
{
    text-align:center;
}
#wrapper
{   width:760px;
    margin:0 auto;
    text-align:left;
}
#header
{  
    background-color: #dddd00;
    height: 70px;
}
#container
{   position:relative;
    margin:10px 0 10px 0;
    width:100%;
    height:auto;
}
#primary
{  
    position:absolute;
    margin-left:210px;
    width:210px;
    background-color:#c7d5ed;
    height:70px;
}
#secondary
{   position:relative;
    margin-top:0px;
    left:0px;
    width:200px;
    height:90px;
    background-color:#f9cfba;
}
#container2
{   position:relative;
    margin:10px 0 10px 0;
    width:100%;
    height:auto;
}
#footer
{  
    background-color:#dddddd;
    height:50px;
    width:100%;
}

Floatの場合、
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <link rel="Stylesheet" type="text/css" href="StyleSheet5.css" />
</head>
<body>
    <div id="wrapper">
        <div id="header"><br />header<br /><br /></div>
        <div id="primary"><br />primary<br /><br /><br /><br /><br /><br /><br /><br /><br /></div>
        <div id="secondary"><br />secondary<br /><br /><br /><br /><br /><br /></div>
        <div id="footer"><br />footer<br /><br /></div>
    </div>
</body>
</html>

CSS:
body {
}
#wrapper
{
    width:760px;
}
#header
{
    background-color:#dddddd;
    height:50px;
}
#primary
{
    float:left;
    width:550px;
    margin-top:10px;
    background-color:#c7d5ed;
}
#secondary
{
    float:right;
    width:200px;
    margin-top:10px;
    background-color:#f9cfba;
}
#footer
{
    clear:both;
    background-color:#dddddd;
    margin-top:10px;
    height:50px;
}

posted by おやじ at 2013/10/15 12:04
コメント(0)  トラックバック(0)

 ホームページを作るのに、トップページのデザインをどうするのかは、悩みの種だ。企業ならば、担当者は、HTMLの知識が無くても、デザインのセンスが無くても、予算さえ貰えれば、それなりの金を出してプロに依頼する。出来栄えも、予算に応じて良くなる。

 だが、個人の場合、まず、金は掛けられない。しかも、大方はデザインのセンスなど無い。せいぜいHTMLを勉強して、なんとか収められないかが関の山だ。そんな事情を助けてくれるのが、デザインテンプレートだ。「おはよう」のサイトも例外ではない。旧トップページは、テーブルを使ったデザインで作られており、今のデザインは、そうしたテンプレートを使って見た。見てくれは、以前と比べ簡素ですっきりした。

 探すと、デザインテンプレートも、いろいろある。大したデザインでもないのに、提供先のリンクとかロゴをデカデカと表示させるものや、控えめな物までいろいろだ。無論、私の所のデザインですよなとと言う自己主張が強いテンプレートは、使いたくないし、企業であったとしても、そんな業者に頼めば、高くつきそうだ。

 デザインテンプレートも、幾つかの個所は、アレンジが必要となる。そんな時、ホームページビルダーなどに読み込ませて、編集をするが、手持ちのビルダーが古いのか、エディターモードでは、正常に表示されない。これでは、テーブルを使ったデザインには使えても、CSSを使ったテンプレートのデザイン編集には使えない。

 そんな時、Microsoft のWeb Developer 2010 を使って編集をして見ようと思いつく。テンプレートを読み込ませると、CSSファイルを使ったテンプレートも難なく表示される。しかも、かなり忠実だ。修正個所をクリックしてソースを開く。どんぴしゃだ。これなら、使えそうだ。何も、ASP.NETだけが、このソフトの特徴ではなさそうだ。

 ソルーションエクスプローラのCSSファイルをダブルクリックする。クラスやID名をクリックしてから、プロパティのStyleを開けば、カテゴリーの選択と数値などを決めれば、CSSを操る事が出来る。結果をエディター画面で確認できる。途中で別の考えが浮かべば、HTMLファイルとCSSファイルを追加する。必要な部分をコピーして、そこに別の考えを試す。結構試行錯誤してデザインを試すには、便利に使えるツールだ。無論、HTMLファイル内にスタイルを定義しても良い。

 そうして時間を掛ければ、オリジナルなデザインでもそれなりに完成してゆく。だが、デザイナーとプロが作ったデザインテンプレートの域に達するには、相当の時間を費やす必要が有る事も、見えて来る。やはり、賢い選択は、デザインテンプレートを選びそれを用途に応じて手直しするのが良さそうだ。

 デザインの次は、機能だが、ASP.NETを前提に組めば、良いのだろう。だが、IISが前提となると、難しくなる。そこでJavaの出番となる。Web Developer 2010 にもJavaの編集が出来る。今度は、その使い勝手を試す事になりそうだ。

posted by おやじ at 2013/10/13 10:11
コメント(0)  トラックバック(0)

 サンデープログラマーも、初めの物珍しさが過ぎてか、だんだんとアクセス数が減少してきた。と言う事で、数が少なくなると、張合いも無くなり、毎日書く事から、思いついたら書く事に変更ですね。

 とは言っても、記憶のサイボーグ化を試す事は、して見ようかと思います。で必要なプログラムを一つだけ載せます。

 ホルダーにファイルやホルダーを階層的に並べる。それを外部からアクセスすると、リストの形でそれが示されるのですが、表示文字数に制限が有るのか、長いファイル名は、ダメですね。それでは、そのまま使えません。

 そこで、ホルダーにindex.phpと言う名前で、下記プログラムを置いておく。そうすれば、ホルダー内のプログラムが、自分自身を除いた長い名前だって表示される。そんなプログラムです。

 認証などは、ネットをググると山ほどあるので、一つ一つ検証したかったけど、止めときます。また、気が向いたら時々見てください。新しいネタで書いて居るかも知れません。

<?php
function getDirList($trgDir){
  $a = array();
  if ($dir = opendir($trgDir)) {
    while (($file = readdir($dir)) !== false) {
      if ($file != "." && $file != "..") {
        if(!preg_match("/index.php/",$trgDir.'/'.$file) && !preg_match("/.htaccess/",$trgDir.'/'.$file)){
          array_push($a, $file);
        }
      }
    }
  closedir($dir);
  return $a;
  }
}

echo "<h1>ファイル一覧</h1>";
echo "<table>";

// ディレクトリの一覧を取得
$dir_list = getDirList("./");
foreach( $dir_list as $dir ){
  echo "<tr><td><a href=\"";
  echo "$dir\">$dir</a>";
  echo "</td></tr>";
}

echo "</table>";
?>

posted by おやじ at 2013/10/10 10:00
コメント(1)  トラックバック(0)

 さて、LinuxにXAMPPが入った。自分のホームページを立ち上げようと言っても、世間に訴える様な物は無い。だから、やらない。これが、おとなしい日本人の大方の人の振る舞いですね。では、Mocrosoftのサポート終了後のXPは、やはり使われる事なく、リサイクルとなって、海を渡り、中国に行ってしまう運命なのでしょうか。

 話は、飛びますが、学生時代に暗記を余儀なくされる授業、とても嫌でしたね。歴史の年号の暗記などどちらかと言うと、社会系でしょう。所が、そういうのが得意なやつがいるんですね。やがて学年が進み、進路が分かれる。文系か、理系かの選択を迫られる。そんな感じですかね。

 誰がどんな根拠で計算したか、分かりません、1人の人間が、死ぬまでに接する情報量は、DVDに換算して平均2000枚だそうです。4GBiteX2000、すなわち8テラバイト。3Gバイトのハードディスクで3台分ですね。その内どれだけを思い出せる記憶として暗記が出来たかで、優秀だとか、出来が悪いとか、人生で座る位置が変わる。それが、意味のある情報ならともかく、死んだ情報も含めて評価される。学校って、考えてみるとそんな所でしたね。

 既に学生ではないが、記憶力のサポートをサーバーを使って、実現する。今の時代なら、難しさは無い。スマホや情報端末を持ち歩ける時代です。自分専用のメモリバンクをXAMPPを使って作り、少々出来の悪かった自分の記憶力をサイボーグ化して、いつでも覚え、引き出せる、そんな事もおとぎ話ではなくなった。

 ホームページがダメで、ホームページに興味が持てなくても、自分の脳みそのサイボーグ化には、意味が有るのではないでしょうか。十分な情報を蓄えた上で何かを考える。ネットを探し回るのとは、また一味違った何かが生まれそうな気がします。その実現に向けて、何が必要か、それを実現する事から始めてみましょうか。

 これを読んでくれた人が、こんな事はどうですかと、アイデアを提供してくれると、嬉しいですけどね。とりあえず、画像情報とPDFファイルを階層構造で格納し、それを情報端末で手繰る事を想定して、考えてみましょうか。

 保管のファイルを画像とPDFにしたのは、本などを「自炊」する場合、それをスキャナーで読み込ませれば、出来たファイルは画像ですからね。アルバムソフトなどを活用せれば、プログラムを組まずに実現できるかも知れません。PDFは、WordやExcelなど、多くのファイルは、PDF変換が可能だし、情報端末で見るには、良さそうなので、まずこの2つを念頭に構造を考えてみましょう。そうすれば、簡単に実現できそうな気がします。

 もっとも、アルバムソフトとか、リストとか、試行錯誤になるかも知れませんけどね。

posted by おやじ at 2013/10/09 06:44
コメント(0)  トラックバック(0)

 Microsoftによる XPサポート終了後を想定して、パソコンの有効利用として、LinuxのVineをインストールした。XAMPPも難なく稼働した。アップデーも済ました。アンチウイルスソフトもインストールした。

 そこで、ちょっと心に残るのが、PHPのバージョンだ。XAMPPに乗せたアプリケーションで小説PHPを選択したが、PHPのバージョンの関係で、1.6.8と言う古いXAMPPでないと動かない。PHP4のバージョンで作られている。PHP5.3などでは、動作しない。これでは、面白くない。と言う事で、サンデープログラマーに、また、挑戦すべき課題が見つかった。

 ネットをググる。小説PHPのQ&Aサイトには、Google にて「PHP 5.3 Deprecated Function eregi OR split」で検索してみてください。とある。

 早速、調べる。PHP 5.3.x で推奨されない機能として解説が見つかる。つまり、エラーの出る命令を書き換えろと言う事だ。

 そこで、エディターを使い、地道にエラーの出る命令を探して書き換える。小説PHPでは、次の4つが該当した。これを推奨命令に書き換える。

ereg( ) => preg_match(/ /)
ereg_replace( ) => preg_replace(/ /)
eregi_replace( ) => preg_replace(/ /i)
split( ) => preg_split(/ /) 、但し、一文字の場合は、explode( )

 カッコの中に「/」が有る場合、両端に付けるデリミッタには、「/」でなくて、「#」などの別の物に変える必要が有る。機械的に置き換えるだけで、出来ましたね。

 ただし、これで対応できたのは、PHP5.3まで。XAMPPのバージョンだと1.7.7までです。XAMPPの最新版1.8.2などでは、PHPは、もう一つ上がって、5.4になっている。これだと、Illegal string offset と言うエラーが出る。現象を説明するサイトは多いが、対応方法は、難しそうだ。今の時点では、プログラムの中身の解析まで必要になりそうだ。これは大変そうなので、止めておこう。

posted by おやじ at 2013/10/08 08:08
コメント(0)  トラックバック(0)

 Windowsと同様に、Linuxもアップデートとウイルス対策ソフトは必要だ。Vineの場合、Updateは、次のステップで行うとある。

# apt-get update
# apt-get upgrade

 これで良いのか。少々時間が掛かるが、適当な頻度で行う事になる。終わったら、トラブルを避ける意味で、再起動しておこう。

 次の、アンチウイルスソフトの導入だが、何を選ぶかでは、定番のClamAVとしたい。ネットをググるといろいろあるが、コマンドを駆使してインストールしている。何やら難しそうだ。もっと単純に、システム、システム管理、Synaptic パッケージマネージャーでclamavを検索して、候補に挙がった5つを選択してインストールする。何かWarningが出たが、エラーでは無い。

 端末を立ち上げ、スパーユーザーとなり、# fresgclam と更新を行う。と、Errorメッセージとして、/etc/freshclam.conf のexampleを編集しろとある。そうだった、それを忘れていた。

 こんな時便利なのが、スパーユーザーで、# sudo nautilusだ。後は、Windowsと同じように出来るとことが良い。ファイルを右クリックして、別のアプリで開く、geditテキストエディターを選択する。終わったら、ctrl+cキーで元に戻ろう。

 まず、Example を # Example にする。

 次に、DatabaseMirror database.clamav.net に#を付けコメントとする。その下に追加で
DatabaseMirror db.jp.clamav.net と追加する。

 書き終えたら、ファイル、別名で保存、保存とするのが確実だろう。今度は、どうか、

# freshclam

 とする。更新は進行しているね。

 次のコマンドは、

# clamscan -r /root

 結果レポートにInfected がゼロで感染が無いので、これで良いとなる。ちなみに感染が確認されたら、#clamscan --infected --remove --recursive /home などのコマンドを使うそうだ。一週間に一回は、やりたいね。

 サーバーなどの用途で使うなら別だが、Officeに該当するソフトも付属する。アンチウイルスソフトも使える。となれば、来年のXP亡き後、そのマシーンをLinuxにするのは、良い選択だと思うね。

posted by おやじ at 2013/10/07 07:42
コメント(0)  トラックバック(0)

 注文していた電源が届いたので、早速に「P6NGM」のマザーボドに繋ぐ。電源が故障の原因だったので、電源を交換したら、難なく復活だ。早速にLinuxをインストールしてみよう。まずは、Vine6.1をインストールする。

 このマザボードは、まだそこそこ新しいボードなので、どのディストリビューションを選ぼうと、おそらく問題は無いだろう。Vineもインストールを進めるが、何ら問題なさそうだ。

 次にXAMPPをインストールする。バージョン1.8.2を選択する。ダウンロードが始まり、自分のダウンロードのホルダーに保存される。一応、インストールでつまらぬトラブルを回避するため、ダウンロードしたプログラムを/optホルダーにコピーをする。参考までにコピーは、コマンドライン端末を立ち上げ、cpとコマンドでコピーしても良い。だが、便利なのは、最初にsuでスパーユーザーになる。そこで、sudo nautilusと打ち、Windowsの要領よろしくコピーすればよい。同様に、インストールは、XAMPPのホームページに従って、進めれば、インストールも難なく進んだ。

 /opt/lampp/lampp startで起動する。これも書いてある通り。http://localhostこれも手順通り。つぎに、/opt/lampp/lampp securityでセキュリティ設定これも手順通り。一旦、xamppを終了させて、httpd.confでdocumentrootなどを設定する。再び立ち上げ、サンプルのhtmlを表示して見る。これで問題なければ、大丈夫だろうと言う事で、何かアプリケーションを使ってみよう。と言う事で、小説PHPをインストールしてみた。

 あれあれ、警告がでる。どうやら、PHPのバージョンが、新しく、アプリケーションと合わない様だ。と言う事で、XAMPPのバージョンを古い物に変える事にした。アンインストールは、リムーブコマンドで説明の通りrm -rf /opt/lamppと入れると、アット言う間に終了だ。で、古いのをインストール。今度は、tarコマンドでtar xvfz xampp-linux-1.7.3a.tar.gzとしてインストール。スタート、。。。どこかで間違えたぞ、Apacheが、起動しない。また、削除。インストールの試行錯誤を繰り返す。rmコマンドで消したのに、http://localhostでページが立ち上がる。つまり、Apacheがなぜか動作しっぱなしになっている。PIDを調べるが、見えない。これでは、どれをkillすれば良いんだとなる。

 もしや、と思い再起動。今度は、http://localhostで何も立ち上がらない。今度は大丈夫そうだ。てな事で、バグだが、そう言う仕様なのか分からないが、試行錯誤の末、1.7.3aを無事インストール。だが、小説PHPは同じメッセージを繰り返す。調べるとphp4のバージョンに戻すか、プログラムの一部を書き換えるか必要があると分かる。そこで、選択は、XAMPPの再インストールだ。今度は、間違えないぞ。選んだバージョンは、1.6.8だ。削除、再起動、インストール、起動で、難なく小説PHPも起動した。

posted by おやじ at 2013/10/06 07:58
コメント(0)  トラックバック(0)

 Windows8の仮想マシンにLinuxを導入する。そこまでは良かったが、ネットに接続できない問題が見つかった。ネットをググって、その内の一つを実行するも、接続できず。おまけに、Windows8のExplorerも接続できない状態になってしまった。

 そこで、とりあえず、「システムの復元」のお出ましだ。今までに、何回となくお世話になりました。Windowsが手放せない理由の一つだ。と言う事で、大丈夫そうな、日付まで設定を戻す。戻ったかどうかを確認する。OKだ。トラブル前に戻ったぞ。

 では、始めるぞ。ネットのググった知識から、Hyper-Vマネジャーの右ペインから、仮想スイッチマネージャーで、仮想スイッチを作る作業が必要だ。そこまでは、良さそうだ。問題は、その内容とそれからだ。

 選択には、外部と内部がある。外部は、「仮想マシンが物理ネットワークにアクセスするために、物理ネットワークアダプターにバインドする仮想スイッチを作成します。」とある。どうやら、これは必須だな。

 内部は、「この物理コンピュータ上で実行される仮想マシンのみで使用できる、仮想マシンと物理コンピュータ館専用の仮想スイッチを作成します。内部の仮想スイッチでは、物理ネットワーク接続に接続できません。」となっている。

 つまり、仮想OSには、この内部スイッチにつなぐ以外に繋がりませんと言っている。つまり、内部と外部の両方が必要で、それをつなぐ必要があるよと言う事になる。

 
外部で、「仮想スイッチの作成」を実行する。名前を適当に、仮想OS_外とでもしておこう。次に内部を選択して、「仮想スイッチの作成」を実行する。これも名前を適当に、仮想OS_内とでもしよう。実行すると、セットワーク接続の画面には、「vEthernet」が外と内の2つ出来る。

 この2つを選択して、右クリックでブリッジ接続を選択する。これで準備は、完了だ。「Network Bridge」のアイコンが作られたはずだ。

 Linuxを仮想OSとしてインストールする。仮想OSのファイル、設定を開き、ハードウエアの追加、レガシ ネットワーク アダプターを選択する。その時、すでにネットワーク関連の何かが追加されていてら、削除しておこう。

 緊張の一瞬、OSを立ち上げる。ブラウザーをクリックする。目出度く繋がりましたね。一応、Winows8のExplorerも繋がるか確認です。できましたね。

 次に、すでにインストール済みのOSではどうか。Fedoraで確認だ。設定を開くと、ネットワークアダプターがハードウエアーに入っている。これを削除して、レガシ ネットワーク アダプターを追加する。仮想スイッチは、仮想OS_内を選択する。。。。大丈夫ですね。問題なく繋がりました。

 これで、仮想OSをどんどん導入できますね。

posted by おやじ at 2013/10/05 07:39
コメント(0)  トラックバック(0)

 電源が来るまでの間、Windows8にLinuxをインストールしてみよう。Windows7の場合は、最新バージョンのLinuxは、インストールできない。だが、Windows8では、VirtualPCは、格段の改良がなされた。試してはいないが、64ビットですらインストールできるらしい。

 さっそく、Fedoraをインストールする。なんて事はない。出来てしまった。次は、Vine6.1だが、これもあっけ無いほどに出来てしまう。何でもインストール出来てしまいそうだ。

 ここで、問題に気づく。Linuxからネットに繋がらない。ネットをググると、いろいろ解決策が載っているが、意味が今一理解できない。取りあえず、その内の一つを選び、実行する。だが、事態は、さらに悪化する。今度は、Windows8からもネットに接続できなくなった。

 この辺に、どうやら解決しなければならない課題が有りそうだ。

 だが、これを解決しても、所詮バーチャルだ。注文した電源は、直ぐに来る。その機械を使ってLinuxを試すのが、本来の予定だ。だが、Windows8のこの問題解決にも興味はある。おそらく、解決にはそんなに時間は掛からないだろう。どっちを先に進めようか、優先順位を付け無くては。。。

 取りあえず、電源到着まで、Windows8もそのまま放置して置く訳も行くまい、簡単に型が付くか、試してみたい。

posted by おやじ at 2013/10/04 08:10
コメント(0)  トラックバック(0)

 マザーボードが、「P4M900-M4」にWindowsを入れてみようと、ネットでドライバを確認する。Windows2000で使って居たが、驚く事にVistaにも対応している。

 そう言えば、別のパソコンだが、マザーボードの「P6NGM」にVistaを組み込んで使って居たら、どうやらメモリリークがある事に気が付いた。通常に使って居る分には出ない。だが、ネットに接続したままの状態にすると、なぜか、メモリーリークを起こす。それがいつ、どういうタイミングで起こすのか、分からない。だが、そう言った症状に気が付いた時には、とうに保証期間も過ぎていた。それ以来、眠ったままのパソコンが有る。メーカーは、MSIで、マザーボードのマニュアルも立派な物だが、メモリーリークとは、お粗末な製品だ。原因は、どうも、ディスプレイドライバーに有ると推察できる。

 ディスプレイドライバーと来れば、中国で組み立てられたレノボが、組み立て段階でマルウエアーをプレインストールされている話を思い出す。まさかとは思うが、そんな気分だ。

 となれば、「P6NGM」からVistaを取り上げ、そのVistaを「P4M900-M4」にインストールして、復活を果たそうと言う事になる。残ったMSIの「P6NGM」には、Linuxと言う事だ。そうすれば、ディスプレードライバーにマルウエアはプレインストールされていても、それを使わなければ問題は無いはずだ。

 作業前の確認で、MSIの「P6NGM」に電源を入れるが、起動しない。あれ? どうやら電源が逝かれた。しょうがない、kakaku.comで注文を入れた。3000円の余計な出費だ。

 マザーボードの「P4M900-M4」にVistaをインストールするには、結構な時間が掛かる。大方は、UpDateの為だ。ドライバーをインストールするが、これが結構いい加減だ。まあ、システムを開いてドライバーの状況を確認するが、「?」が付いているのは無いので、これで良い事にしよう。続いて、認証の手続きだが、当然にして、自動では失敗する。結局電話での認証を受ける事になる。認証も終わり、セキュリティソフトには、Windows Security Essentialsをインストールする。これで、一段落だ。

 注文した電源が到着したら、「P6NGM」と組み合わせて、Linuxをインストールしてみよう。この機械を使って、いろいろLinuxを試す事になりそうだ。

posted by おやじ at 2013/10/03 09:28
コメント(0)  トラックバック(0)

 まずは、Vine Linux で、「Endeavor Na01 mini」が復活するのを確認した。次は、これにUbuntuをインストールしてみた。今得られるバージョンは、13.04だ。これも、結論から言えば何と言う事はない。すんなりインストールできてしまった。Vineと比べた印象は、日本製のVineは、水墨画的で飾りが無い。一方のUbuntuは、油絵だ。華やかで、色彩豊かだ。そのせいだろうか、立ち上がりや動作に重みを感じる。どちらかと言われれば、非力なATOMをCPUに持つEndeavorだ、選択はVineと言う事になる。

 Ubuntuがインストール出来たので、今度はFedoraを試す。バージョンは、19.1. 途中で、何だ、登録しろみたいなのが出て来たぞ、めんどくさい事は、要らない。その時点でインストールは、中止とした。

 どうやら、始めの予想通り、「Endeavor Na01 mini」は、Vine Linux 6.1 になりそうだ。

 次に、機種を変えて、「SF-81ENT/R」を試す。ずいぶん古い機種だ。Windows98の時代に手に入れた物で、TOYOMURAから、ベアボーンのキットとして販売された物だ。さすがにここまで古くなると、最新バージョンのLinuxでは、インストールは出来ない。そこでバージョンを下げ、とりあえず出来た物は、Vine Linux の5.2だった。これはこれで良しとしよう。

 3台目は、組み立てパソコンで、マザーボードが、「P4M900-M4」と言う物だ。マザーボードは比較的新しい。Ubuntuはインストールできたが、動作が遅い。これでは、実用に供さなない。所が、他のいずれのLinuxも、ハードディスクとのやり取りでエラーになる。ハードの物理的問題なのか、そもそも対応していない物なのか、一度Windowsに戻って確認した方が良さそうだ。

 作業が忙しいので、今日は、書くのはこれ位にしよう。

posted by おやじ at 2013/10/02 09:25
コメント(0)  トラックバック(0)

 来年サーポートが切れるのを見据えて、WindowsXPで使って居るパソコンにLinuxをインストールする。その手始めに、手元に有るEpsonの「Endeavor Na01 mini」を活用したい。この機種は、小さくて持ち運びも良く、手ごろだが、CPUが、Atom仕様の為か、使って居る内に、遅くなり、その遅さには耐えがたい物が有る。Windows起動の時の音などは、処理速度が遅すぎて、まともに再生できず、ひずんだ音になる。もはや、WindowsXPの限界だ。

 Linuxには、いろいろなディストリビューションと言われる種類が有る。どれにするかは、悩ましい話だ。個人的には、バージョンアップの少ないVine Linuxか、Windowsに近いと言われるUbuntuが使いやすいと思って居る。

 今回の目的は、Linuxにする動機として、中古の機械の再生だから、先端を追いかけるLinuxで有る必要はない。その意味で、FEDORAなどは、評価としては良いが、最終的には、良くても選択しないかも知れない。

 手元には、まだ、2台、それにWindows98時代のボードがある。電源もケースも無いので、今回は参加できないかも知れないが、電源の都合が付けば、これも試してみたい。

 Linuxは、まずはじめに、今のバージョンを試す。すんなりインストールできれば、それより古いバージョンは、試さない。インストール出来なければ、インストールできるバージョンまで過去に遡る。そんなやり方を考えたい。

 前置きは、この位にして、早速Vine Linux をインストールしてみよう。現在のバージョンは、6.1だ。インストールは、始めると何て事はない。すんなり終わってしまった。と言うのか、問題はなさそうだ。無線ランもマウスパッドですか、これも問題なく対応している。スピーカーの音も問題ない。使えると言う事だな。

 レスポンスも、XPとは違い早い。まずもって、「Endeavor Na01 mini」の復活を宣言しても良いだろう。

 次に、サーバーを考えた場合として、XAMPPをインストールしてみる。最新のXAMPPをダウンロードする。場所は、「ダウンロード」ホルダーに入るので、それを「opt」ホルダーにコピーする。その上で、ホームページに書いてある操作でインストールを実行する。これも難なく済んでしまった。

 次のXAMPPのセキュリティー設定では、なかなかうまく行かない。Linuxになれていないせいか、手間取る。まあ、Endeavorでサーバー運用は無いだろうから、後でやろう。

 今日は、これにUbuntuを入れてみよう。そのレポートは、明日ですね。

posted by おやじ at 2013/10/01 08:38
コメント(0)  トラックバック(0)

検索


リンク

カウンター
今日: 今日のカウンター今日のカウンター今日のカウンター今日のカウンター今日のカウンター今日のカウンター
昨日: 昨日のカウンター昨日のカウンター昨日のカウンター昨日のカウンター昨日のカウンター昨日のカウンター
累計: 累計のカウンター累計のカウンター累計のカウンター累計のカウンター累計のカウンター累計のカウンター

RSS Feed
RSS Feed  最新の記事
RSS Feed  最新のコメント
RSS Feed  最新のトラックバック

プロフィール
ニックネーム:おやじ
誕生日:4月8日
性別:男
血液型:A型

管理

Copyright 2007 サンデープログラマー All Rights Reserved.
Powered by PocketBlog