トップ «前の日(05-02) 最新 次の日(05-04)» 追記

K2さんの雑記


2003-05-03(Sat) ごーるでんうぃーく3日目

え、もう3日目

うーん。早い。昨日はビールを2本飲んだら、それだけでへべれけで、野球もないし、8時頃に寝ちゃった。起きたら8時前だった(^^;

TTBaseオープンソース化

おばけさんにまがりさせてもらって、TTBaseオープンソース化計画準備委員会のページを立ち上げました。参加してくださる方は、あちらに参加表明をお願いします。

[]○対ヤクルト 甲子園 7回戦 3-6

また勝ちました。今日は今岡調子よかったねぇ。お立ち台でもりりしかったぞ。今下位打線が調子いいから、点を取る役目を果たせるはずだし、がんばってね。よく凡退して赤星にいいとこもってかれる気がしているので。

伊良部負けなし4勝目。今日は球も走ってたし、よいよい。

先に点取られても、負ける気せんね。

本日のツッコミ(全2件) [ツッコミを入れる]

nao [TTBaseオープンソース化..か。前からソースは見てるので(^^;特に新しい事のような気がしない。参加表明は..ど..]

K2 [変更したい人が変更できるような環境にしたいだけだから、あんまり肩肘張らなくてもいいんじゃないかな。リリースの管理だけ..]


2004-05-03(Mon)

実家に帰ってました

本日23時京都に帰る。結構長い間体調がぼろぼろ。なぜじゃ。

熊とワルツをは読み終わりました

2回も読んじゃった。


2005-05-03(Tue)

GW休出2日目

今日の仕事で、一応自分でできるところはすべてやってしまった。後は人の仕事待ちとか人に聞いたり人に頼んだりしなければいけない仕事。なので、本当は明日も休出予定だったのだが、やめ。


2006-05-03(Wed)

[BIKE]ひさしぶりにサイロを走った

ロードに乗ったのは半年以上ぶりかもしれない。2時間ほどで流れ橋まで往復した。

いい天気、でも少し寒い。夏と同じ格好で行ったら、走っている最中少し寒かった。

久しぶりで気持ちよかったです。


2014-05-03(Sat)

[]フロー体験 喜びの現象学

フロー体験 喜びの現象学 (SEKAISHISO SEMINAR)(M. チクセントミハイ) フロー体験 喜びの現象学 (SEKAISHISO SEMINAR)(M. チクセントミハイ)

集中して物事を行うと、生産性は上がる。

自分にも特別に集中している時間があったという経験はしていて、たとえば設計作業をやっているときとか、特別な本を読んでいるときとか、そういうときにはアウトプットの質と量が格段に違うと感じていた。

そういうのをフロー状態と呼んでいるというのを、ライフハック的なページで読んだかで知っていた。先日ちょっとしたきっかけで、フロー状態についての本を読もうと思った。それで、調べてみると、ミハイ・チクセントミハイのこの本がどうやら原本であり、購入して読んでみた。

もっと手法的なことが主になる本だと思っていたのだが、いやはや、これは一種の哲学書だな。読んでみると物事や世界の見方が変わるような予感がする。

内容的には、以下のページがまとまっていてよい。

「フロー体験」理論のあまりの凄さに戸惑いを隠せない

本書の内容があまりにも幅広く、ちょっと要約とかを上記のページ以上に書く気が起きないので、とりあえずここまで。

2回通読の後、3回目に入ってしまった。


2015-05-03(Sun)

[無線]初オーバーシー

21MHzを聞いていたら、ロシアの局が出ていたので、呼んでみた。59。RSリポートの交換のみだったので、Thank you以外の英語も要求されずに、交信成立。


2016-05-03(Tue)

サーバー更新

RAIDリビルド開始

2台の3TBのHDDをGPTでフォーマットした後、前の1TBからデータをすべてコピーし(約900GB)、その後、ARAID99-2000にセット。

ここで3TB認識されるかどうか不安だったが、無事認識。

その後、もう一台のHDDをセカンダリースロットに突っ込み、リビルドを開始。これで1日ほど待てば、RAID1として動作できるはず。

PCの筐体は20年選手。ARAID99-2000も約10年選手。筐体はちょっとでかいけど、買い換えるところまではいかず。

PS(5/4)

リビルド完了約20時間でリビルド完了。3TBのHDDサーバーのRAID1(ミラーリング)動作完了

PS2(5/4)

前面パネルのBuzzerスイッチをいじっていたら、SEC側がOFFになってしまって、またリビルドが0%から始まってしまった。DafaultモードとSingleモードを切り替えるスライドスイッチに手があたってしまったかも。もしかしたら、スイッチの接触が悪くなっているのかもしれない。


2017-05-03(Wed)

Python

ちょっとpythonやってみよぅかなと思って、Anacondaを入れてぼちぼちやってます。インタープリタモードで一通り打ち込んだ後、ソースファイルを作ろうと思ってK2Editorを使ったら、「そういやぁ、Pythonの定義ファイルなんて作ってなかったなぁ。定義ファイルひたすら作ってた時って、もうPythonあったっけ?」てなことになって、さて困った。まぁ色分けなんてなくてもいいっちゃぁいいのだけど、やっぱテンション下がります。

いやぁ、しかし今でもK2Editorを使ってくださっている人々は作者以外にもいるんですね。ちゃんとPython設定を作り込んでくれている方がいました。ありがたく使わせていただきます。

K2Editor の Python 用設定を作ってみた

ちなみに、仕事場も家もWindows10になりましたが、K2Editor/TaskPrize/プリン/TTBaseとも現役です。(TTBaseはコミュニティでみなさんやってくださってそうなので安心です)

ちなみに(2)、Pythonはメジャーになった2.0系は2000年に出ていると言うことで、K2Editorの開発とかぶっていると言えばかぶってます。当時の私はひたすらRuby派だったし、言語オタクという感じでもなかったので、Pythonについてはあまりよく知りませんでした。

UTF-8固定でK2Editorを使う

PythonのソースファイルはUTF-8を使う必要あり。

K2Editorを.pyファイルに割り付けたが、毎回SJISからUTF-8に変更するのは面倒だし忘れるので、なんか文字コード固定する方法あったよなぁと、過去の記憶をたどる。

起動オプションを/o8としてK2Editorを起動すれば、UTF-8モード固定になるので、これを使って.pyに関連付けできればよい。K2E.exeをコピーしてK2EU8.exeにリネーム。K2EU8.optファイルを作って、一行目に/o8と書いて保存。これで、K2EU8.exeを起動すればUTF-8に固定されるので、関連付けをK2EU8.exeに変更した。

本当は、ファイルタイプ別の設定でさくっと設定できれば一番よいのだけどね。修正してほしい。作者誰だっけ(笑)

[]ゼロから作るDeep Learning

ちょっと人工知能に関わることもありそうなので、Pythonも勉強できるしちょうどいいなぁとこの本を購入して、PC片手に読み始めた。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装(斎藤 康毅) ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装(斎藤 康毅)

まだPython使えるようにしたところだけど。

この前に、基礎知識として以下の本もさっと読みました。

脳・心・人工知能 数理で脳を解き明かす (ブルーバックス)(甘利 俊一) 脳・心・人工知能 数理で脳を解き明かす (ブルーバックス)(甘利 俊一) 脳・心・人工知能 数理で脳を解き明かす


2018-05-03(Thu)

そういうわけで、JavaScript

昨日の、Google Maps JavaScript API使用を業務で使おうと思うのだが、今まで全くJavaScriptにさわったことがなかったので、このGWを利用してJavaScriptを勉強してやろうと思った。

テキストは、改訂新版JAVASCRIPT本格入門。Kindle版を購入。

電子書籍を読みながらコーディングするのは、ディスプレイが2枚あると簡単なんだが、ノートPCのみの場合は、iPad miniの出番。iPad miniで書籍を読んで、ノートPCでコーディングする。

本日の勉強部屋はスタバ。

letとvarの違い

ES2015から追加された変数宣言のためのletは、varと以下の点で違う。

  1. 変数の重複宣言を許可しない
  2. ブロックスコープを認識する

すぐ忘れてしまうので、メモ。

JavaScriptでは、連想配列と「オブジェクト」が同じ?

「オブジェクト」は多くの言語では、最も基本になるクラスに与えられる名称であることが多いが、JavaScriptの場合は、連想配列を「オブジェクト」と呼ぶようだ。

教科書にはNoteとして同じであることが示されているが、理由までは書いてない。うまく「オブジェクト」と連想配列という言葉がつながらない。違和感しかない。

おまけに!、連想配列の個々のデータは、「プロパティ」、このプロパティが関数の場合(関数も格納することができる)、特別に「メソッド」と呼ぶらしい!

ということは、連想配列が「クラス」に近い言葉として定義されていると言うことなのだろうか。

もうちょっと学ぶと合点がいくかもしれないので、このまま進めます。

追記

アクセス方法で、通常

obj['x']

としてアクセスするのは自然だが、JavaScriptの場合は、同様に、

obj.x

でアクセスできるらしい。

ああ、これはオブジェクトだな。ちょっと合点した。

追記2

読み進めると、

var today = new Date();

のコードで、todayがオブジェクトである意味の記述が教科書本文に出てきた。

ここでまた混乱。

このコードは、他の言語ではクラス生成してインスタンスをtodayに入力するものだが、JavaScriptの場合は、オブジェクトは連想配列だと習った。とすると、new Date()という記述は、連想配列を作成するという意味なのだろうか…… 

読み進めよう。

インクリメント・デクリメント演算子はあり

前置演算と後置演算の区別もあり。最近の言語では珍しい?(そもそも最近の言語ではないのか……)

等価判定は===

イコールを3つ重ねる演算子は始めて見た。

追記

==も等価演算子。しかしながら、両辺のデータ型が違う場合は、数値(文字列や論理型)や基本型(オブジェクトの場合)に変換して比較する。両辺とも参照型の場合は、参照先が等しいかどうかを判定する。

===は、データ型も同じ場合にtrueになるより厳密な等価演算子。

==は、無理矢理型変換をして比較をするので、バグを生みやすい。

教科書ではできるだけ===を使うように記述されている。

数値やundefinedなどの論理値

0やNaN、""、null、undefinedはfalse、それ以外はtrueと見なされる。最近の言語ではちょっと違和感がある実装?

and、orの際の短絡演算

false && Aや、true || Aの場合、Aを実行する前に結果が確定しているから、Aは実行されない。C言語等ではおなじみ。

時代背景からか、C言語に近い実装が多いね。

使用例として、

var msg = '';
msg = msg || 'Default String.';

という例が紹介されている。msgが空文字の時に、"Default String."を代入するというものだが、これはあまり感心できないな。テクニックとしてはわかるけど、もう少しわかりやすく書くべき。

switch文はC言語仕様とほぼ同じ

今や他の言語では見ることがなくなったbreak文が必要なcase句。使い方によっては便利だが、わかりにくくなるデメリットの方が大きいので、現在ではこのような仕様を持つsiwtch-case文は他の言語には見られない。

配列要素をfor文で列挙する場合

for ... inは、連想配列の場合だけに使う。配列では副作用があるので、推奨されていない。

また、通常のfor文で列挙する場合も、毎回配列のlengthプロパティ(メソッド?)にアクセスするとレガシーブラウザの場合は性能が劣化するため、以下のように初期化ブロックで変数に取り出しておくのが推奨されている。

var data = ['apple', 'orange', 'banana'];
for (var i = 0, len = data.length; i < len; i++) {
  console.log(data[i];
}

または、for ... of文で、値を列挙する。(ただしES2015以降)

for(var value of data) {
  console.log(value);
}

ラベル構文

必要悪なラベルジャンプ的なものもある。ただしgotoよりもさらにややこしい。

kuku:
for(var i = 1; i < 10; i++) {
    for (var j = 1; j < 10; j++) {
        var k = i * j;
        if (k > 30)
            break kuku;
        document.write(k + '&nbsp');
    }
    document.write('<br />');
}

break文で、2重forループの外に脱出する例だが、ラベルは先頭にあり、このラベルは外側のforループを装飾しているという解釈となる。

これはややこしく美しくない言語仕様だと感じる。使うことはほとんどないだろう。

html記述で間違えた場合、ブラウザはエラーを返してくれないの?

例をこなしていくときに、JavaScriptが動かない場合はあった。特にブラウザはエラーも吐かないし、よくわからなくて、htmlをよく見ると、

<script type="text/jacascript" src="scripts/foo.js"></script>
                    ^^^

とミスタイプしていた。

Chromeのデベロッパーツールでもエラーは吐いてくれないし、気づくのに時間がかかってしまった。エラーを吐いてもらう方法を見つけられていないだけなのかな?

Visual Studio Codeの上書きモード

JavaScriptのコーディングには、Visual Studio Codeを使用している。コードの自動補完などの機能が多彩。

コードを入力していて、繰り返しで文字を変更したいシチュエーションに出くわした。

console.log(x0);
console.log(x1);
console.log(x2);
console.log(x3);
console.log(x4);
console.log(x5);
console.log(x6);
console.log(x7);

これを入力する場合、最初の行を入力、コピーペーストで8行作って、上から0を1,2,3,4……と変換していくということをよくしますよね。その際には、上書きモードを使って上書きしていく方が、入力が早くできます。

で、Insertキーを押してみたが、上書きモードに切り替わらない。

え、上書きモードがないの?と、仕方がないのでBSを押しながら全部書き換えた。

ふと、キーバインドされてないだけであるのでは?とぐぐってみると、拡張機能で上書きモードがインストールできるようだ(拡張機能:overtype)。不用意に押してしまう人がいるので、デフォルトではインストールされていないらしい。

無事、上書きモードが使えるようになりました。

Visual Studio Codeにキーボードマクロはない

これは残念。誰か拡張機能で作ってくれないだろうか。

もう20年若ければ、拡張機能開発に挑戦したいけど、さすがにもうパワーがないです。

疲れたので本日は終わり

改訂新版JAVASCRIPT本格入門という本ですが、非常に丁寧に説明されていて、不明な箇所がほとんど無く、よい本です。私にとっては全く難しくはなかったのですが、プログラミング言語初挑戦の人には難しいかもしれません(といってもK&Rが最初の本という人も多かったと思うので、それに比べれば1/10くらいとっつきやすいと思います)。

コードを打ち込みながら、約30%進みました。

Kindle版もレイアウトがよいので、非常に読みやすいです。


1965|09|
2002|09|10|11|12|
2003|01|02|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|03|04|05|08|
2014|01|02|03|04|05|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|11|
2017|01|03|05|06|07|08|10|11|12|
2018|01|02|03|04|05|08|




2018年
5月
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
//
自己紹介
自己紹介
広告
計るだけダイエット
今聴いてるの
ブルックナー:交響曲第7番 ブルックナー:交響曲第7番
ブルックナー:交響曲第8番 ブルックナー:交響曲第8番
読書中
つっこみリスト
TrackBacks
日記仲間
/ / /
最近の日記
  • 2018-08-11(Sat)
    • 1. プリンタを買い換えた
  • 2018-05-04(Fri)
    • 1. 引き続きJavaScript
    • 2. やっと関数
    • 3. 本日も終わり
  • 2018-05-03(Thu)
    • 1. そういうわけで、JavaScript
    • 2. html記述で間違えた場合、ブラウザはエラーを返してくれないの?
    • 3. Visual Studio Codeの上書きモード
    • 4. Visual Studio Codeにキーボードマクロはない
    • 5. 疲れたので本日は終わり
  • 2018-05-02(Wed)
  • 2018-04-08(Sun)
    • 1. タイヤ交換
    • 2. タイヤ交換 ファーストインプレッション
  • 2018-03-24(Sat)
    • 1. ウォーキング 24km 31000歩 平野神社・大覚寺・鈴虫寺・桂離宮
  • 2018-03-20(Tue)
    • 1. バージョン管理システムは重要
    • 2. Bitbucketは太っ腹
  • 2018-03-18(Sun)
    • 1. ウォーキング 24km 31000歩 船岡山・大徳寺・下鴨神社・建仁寺
  • 2018-03-14(Wed)
    • 1. Gitを使った
  • 2018-03-12(Mon)
    • 1. Xcode続き(Start Developing iOS Apps - Implement a Custom Control)
  • 2018-03-11(Sun)
    • 1. ウォーキング 20km 25000歩 神泉苑・泉涌寺
  • 2018-03-08(Thu)
    • 1. Swiftのオプショナル型の解説記事
  • 2018-03-05(Mon)
    • 1. Xcodeの続き−Imageの追加
  • 2018-03-01(Thu)
    • 1. Pythonの関数返り値定義
    • 2. Swiftの関数返り値定義
    • 3. Xcodeでのオブジェクトとコードの接続
    • 4. イベントハンドラ
    • 5. 慣れないCapsキー