チェーンにオイル差し

 またまた長い期間の放置となっています。
 自転車も埃をかぶっています。
 気候が良くなってきたので何時でも乗れるようにとチェーンにオイル差しをしました。
 今回はチェーンへのオイルの滴下が上手に出来ました。3滴ほど地面に吸わせてしまいました。
 上手にできると殆ど手も汚れませんでした。
 ついでにタイヤに空気を。
 ほとんど空状態でした。 入れながらタイヤを見ていると、接地面に何か光るものが目につきました。
 金属片が刺さっています。針状のものではなく板状のものです。このまま放置しておくのは危険なのでほじくり出しました。
 ぎりぎりチューブには達してなかったみたいで、空気が漏れる気配はなし。
 しばらく空気漏れが無いか様子見です。
 しかし、どこで拾ってきたのかな。

この記事に

開く トラックバック(0)

Nexus7復活

 昨日、軽量Linuxについて調べたことで、我が家のNexus7がとても重たくなっているのを思い出しました。
 どの時点だったか忘れましたがandroidの更新をやっている内に極端に重くなりました、現在android5.1.1が入っていますが、何とか使えるようになるまですごく時間が掛かります。反応メッチャ遅すぎ。
 そんなAndroidやめてLinux化ということも頭をよぎりました。
 でもこれは色々と問題ありそうな感じなのでやめておきましょう。

 とりあえずNexus7で検索していたら、こんな記事を見つけました。
「NEXUS7 2012 android5.0 遅いの解決!! やるなら今でしょ!!」
「Nexus7を初期化したけど自動でアプリも元に戻って、OSも最新になっててやっぱりAndroidはすごいと思った」
もう改善できないと諦めていたのですが、可能性ありそうな雰囲気なので私もやってみました。

 なんと、改善しました。サクサクという程ではないですが、まともに反応するようになりました。これでもう少し使えるかな。

この記事に

開く コメント(0)

開く トラックバック(0)

やっと30Km

 今週末は何も予定がなく、気温も昨日から少し暖かくなって天気も良好。やっとチャンス到来。
 ただ不安なのは自分の体力だけ。ということで1時間程度のルートで乗ってきました。
 とりあえずは草津方面で、独身の頃に一人で住んでいた辺りを巡ってきました。
 一ヶ月前同様、栗東との間の峠で息ハァハァ、全然だめです。肺年齢改善は一向に進んでない。

 草津ではかつて熟知していた地域も新しい道や新しい家ができていておやっと思ったのですが、古い見慣れた道に入ると安心します。先輩宅や知人宅などの表札を見て安堵。みんな元気かな。

 今回は30Km程度で平均18km/hとのんびりです。以前のように走れないことを自覚。いつまでリカンベントに乗れるかしらと、つい考えてしまいます。
 自宅への最後の登坂では太ももにハッパを掛けたくなりました。「お前は筋肉だったはず、働け!」
 登りきっることはできたけれど、一気に痛み出す。もうすぐ家の前だから支障ないけれど、これが遠方の地であったならアウトかもです。

この記事に

開く コメント(4)

開く トラックバック(0)

WEBアプリに挑戦

 何かアプリケーションソフトを作りたかったのですが、GUIがネックになっていました。一般的にプログラム言語にはGUI機能は備わっていませんので、外付けのツールを別途用意しなければなりません。Pythonにもれなく付いてくるTkinterを少しかじっては見ましたが、アプリケーションを作る気がわきませんでした。
 そこで目をつけたのがWEBアプリケーションです。ブラウザのGUI機能を使おうと言う訳です。
 従来はアプリケーションソフトといえば利用者のPCにソフトウェアをインストールして使うものでした。しかし近年は企業の業務ソフトなどではそのような形をとらずに社内のサーバーに業務ソフトを用意し、それを利用者のブラウザで利用する形態が増えています。
 こうするとシステム管理上は色々と都合良くなります。
 個人がこうした方法をとってもメリットはどうかな。GUI機能が簡単に実現できるということ位かな。

 さて、今回は非常にコンパクトなWEBフレームワークであるBottleを使って簡単な練習用のアプリを作ってみました。お決まりの"Hallo World"では簡単過ぎて何の理解にも繋がらないので、少しは動きを確認できるものを作ってみました。
 具体的には何もできないですが、画面の移動、データのやり取りの方法の経験を積むということで挑戦しました。

ログイン画面
イメージ 1

IDとパスワードの確認をします。本当ならデータベースで確認しますが今は空白でなければ通過するようになっています。
 通過すると次のメニュー画面を表示します。

メニュー画面
イメージ 2

 練習なので選択肢は2つしかありません。

menu01画面
イメージ 3

 この画面ではコンボBOXの項目が一つだけあります。
 このコンボBOXの選択肢は固定ではなく、サーバー側からパラメータとして受け取った任意の数だけ設定したいので、その練習です。
イメージ 4

 この例では選択肢を3つ送り込んであります。

選択結果画面
イメージ 5

 選択された結果を表示する画面です。

 menu02はmenu01と同様のリストBOXの例なのですが、結果は思っているようにはなりませんでした。これはHTML5の機能へのブラウザの対応の違いだと思われます。どうもFirefoxとChromeは対応していないように思われます。というか過去にこのフィールドに入力した内容を候補として表示する機能を独自に持っているようです。
 入力内容を規制するにはコンボBOXの方が適切な気がするので、多分リストBOXは使わないと思う。

menu02画面
イメージ 6

 送り込んだ選択肢は無視されて、過去にこのフィールドで入力した値がリストに載っています。

以上の画面はHTML5でテンプレートを作っています。menu01とmenu02の中にはサーバーから渡された選択肢を展開するpythonのコードが埋め込んであります。


menu01の画面記述の一部

<form method="POST" action="/dspresult" >
<fieldset>
<legend>コンボボックス例</legend>
<select name="datas">
% for dat in dat_list:
<option value = {{dat}} >{{dat}}</option>
% end
</select>
</fieldset>
<input type="submit">
<input type="reset">
</form>
(注:インデントのブログでの表示が何故かおかしくなっています)

%が付いている行がpythonのコードで、dat_listに含まれるdatの数だけ<optionの行を追加します。
 静的なHTMLの中に動的なプログラムを書けるとは中々面白い構造です。色々と可能性が広がります。

 dat_listはサーバー側のプログラムから渡されます。

サーバー側プログラムの渡す部分の記述

# 選択メニューの処理
@route('/selectmenu', method='GET')
def selectmenu():
menuid = request.query.menu
if menuid == "menu01":
return template('show1',dat_list =['combobox1', 'combobox2', 'combobox3'])
elif menuid == "menu02":
return template('show2',dat_list =['listbox1', 'listbox2', 'listbox3'])

 この例でdat_list =['combobox1', 'combobox2', 'combobox3']とあるのがその箇所。
 実際には入力しようとするデータの種類に対応する適切な選択肢を設定するというような手続きを採ることになるでしょう。

 今回の練習では以下の事をしました。
1) Bottleのドキュメントの翻訳
 日本語の正式の資料はありません。いくつか機械翻訳された資料がネット上に幾つか有ることはありますが。
 私も基本的に機械翻訳ですが、自分でできる範囲で手を入れました。英語力は決して高くないので大変でした。一番時間が掛かったのはこの段階かも。
 対象はチュートリアルとSimpleTemplateEngineの2文書。まだ他にも知りたいことが有るのですが…。

2) HTML5+CSS3のお勉強
 前にXHTMLとCSS2でホームページを作りましたが、ほとんど忘れていたので再勉強。但しエントリ画面を作るのに必要なだけに範囲に限定しました。手抜きです。ホームページを作るようになったらまた勉強です。

3) HTMLタグ打ちができるエディタとしてBluefishをインストール。
 使ってみて、それなりに便利だなと思いましたが、既に手持ちのエディタでもできると気づきました。
 初めは見た目通りの画面作成ができるツールが欲しいと思いましたが、慣れればテキストエディタで十分です。

4) とりあえず練習用の画面を作成。ただのHTMLなのでブラウザで出来上がりを確認できます。
 出来上がりを確認したらテンプレートとして所定の場所に格納。

5) Bottleの資料などを見ながらサーバー側のプログラムをコーディング、デバッグ。合わせてテンプレート側へのpythonコードの埋め込み。
 サーバー側とブラウザ側との通信メソッドにGETとPOSTがありますが、これを双方で合わせればほぼ問題なく交信ができます。
 ただ、初心者なので色々と苦労しました。
 それでもbottleを使うことで容易にWEBアプリを作ることができることが分かりました。本格的なフレームワークだと覚えなくてはならないことが多く、初心者には負担が大きいと思いますので、これで良いと思います。
 サーバーを外部に公開する力は今の私にはありませんが、個人で使うには十分かなという感触です。

 残された課題
 次にデータベースの取り扱いが必要になります。sqliteについてもう少し勉強が必要です。

この記事に

開く コメント(0)

開く トラックバック(0)

 VirtualBoxにWindows10をインストールした後で最新状態にするためアップデートを実行したところ、ダウンロードが全然進まなくなりました。
 ダウンロード対象はKB3197356なので、これをキーにネットで検索してみると、同様のトラブルの記事が出てきました。

 計測してなかったのでわかりませんが、普通なら諦めて中断して当然と思うほど長い時間待ちました。
 ホストOSのUbuntu側で他の事をしながらなので、苦にならなかったです。
 
 気がついたらHDDのアクセスランプが点滅しているのでWindows側の画面を見ると・・・97%に進んでいます。中断せずに放置しておいて良かった。結局、この後も時間は掛かっていますが無事に更新を終了しました。寝る時間までに終わってホッとしました。
 こんなこともあるのでWindowsを使っている方々、気長に構えて下さい。中断させてしまうと、それでアウトですからね。気長に待ちましょう。

この記事に

開く コメント(2)

開く トラックバック(0)

[ すべて表示 ]


.


みんなの更新記事