2018/02/17

JavaScript クラス

かつてのJavaScriptにはクラスはなかったが、2015年以降クラスが使えるようになった。 下の例は一つのクラスから、3つオブジェクトを作ったもの。
class Neko {
  constructor(name) {
    this.name = name;
  }
  sayName() {
    console.log(this.name + "にゃ~");
    console.log(name + "わん!");
  }
}

let mike = new Neko("ミケ");
mike.sayName();

let shiro = new Neko("シロ")
shiro.sayName();

let tama = new Neko("タマ")
tama.sayName();


実行結果
ミケにゃ~
わん!
シロにゃ~
わん!
タマにゃ~
わん!


thisが重要で、thisがないと無視されるようだ。

2018/02/12

2D-CAD DraftSight

無料で使えるAutoCAD互換のCAD。CATIA(3D-CAD)のダッソー社からリリースされている。 2D-CADはオートデスク社のAutoCADがデファクトスタンダードで、世界中どこでもAutoCADの図面.dwgフォーマットが要求される。資料も.dwgフォーマットで渡される。

仕事では仕方なく、AutoCADを使うこともあるのだが、どうも好きになれないCAD。それにバカ高いので、ホイホイと買うわけにもいかない。

自宅でちょっと修正したり、資料をチェックする程度なら、このDraftSightでよいのではないかと思っている。 またWindowsだけでなく、Mac、Ubuntuにもインストールできるマルチプラットフォームとなっているところが素晴らしい。 ということで、家にある複数台のPCにインストールしてある。


AutoCADが気に入らないので、その互換CADが好きになれるわけはないのだが、仕事では何かと必要に迫られるので、なくてはならないツールになりつつある。 以前からビューアー程度には使っていたのだが、マイPCをWin10にしたこともあって、本格的に使ってみようかと思っている。操作性もAutoCADに合わせているので、AutoCADを使える人なら、それほど違和感なく使える。 ただ、そうでもない部分もあるので、備忘録程度に書いておくことにした。

2018/02/11

JavaScript 変数 let, const

長いことJavaScriptを使っていなかったが、2015年から驚くほど仕様が変わったようだ。 以前は変数はvarしかなかったけど、今ではむしろ使わないほうがいいぐらい。現在は基本的にletとconstを使う。

letは他言語のような変数となり、挙動が予測しやすい。宣言したブロック内で有効な変数。
for(let i = 0; i<3; i++){
    console.log("i=",i);
 }
//console.log("i=",i); //ブロックの外ではエラーになる


contは再代入できない変数を宣言する。変数が消滅するまで、途中で値を変えることができない。
for(let i = 0; i<3; i++) {
    const num = i * 10;
    console.log(num);
    //num ++; //エラーになる
  }

JavaScriptは動的型言語なので、変数はデータ型を指定できず、お任せのところがある。内部的には基本型(Primitive type)と参照型(reference type)に大きくわかれる。

基本型はnumber、boolean、null、undefined、stringに分かれ、
参照型はarray、object、functionがあるが、スクリプトを書く側はそれほど意識する必要はない。




JavaScript 目次

2018/01/27

トランジスタ増幅回路2
LTspice エミッタ接地

なんと1年半振りに続きを書く。前回の記事はこちら。 当初は、マイクプリアンプの自作を考えていたが、忙しくなったことと、新しい機材を導入したことで、必要性がなくなり、頓挫してしまった。 今回は、マイクプリアンプではなく、アコギ用(マグネットタイプ)のダイレクトボックスを目指すかたちで、基本的な増幅回路を勉強してみようかと思う。


シミュレーションソフト LTspice

オシロスコープを持っていないので、実際の回路のチェックは難しい。そこでLTspiceというソフトでシミュレーションすることにした。これがあれば、オシロスコープ以上のことが設計段階でいろいろ出来る。無料かつ高性能なので愛用者も多い。実は10年ぐらい前にも使っているのだが、基本的な電気回路の知識がないと歯が立たないので、ちゃんと使いこなせないままだった。今回は増幅回路に必要なチェックに使おうと思う。やりたいことのハードルは高くないので、なんとかなるだろう。



2017/09/09

スマホ対応を考えてみる

自分のBlogをiPhoneSEとAndroidのスマホでチェックしてみたら、いろいろ問題があった。ウェブ関係は常に最新のトレンドに合わせる必要があるので、既存サービスを利用して、そのサービスがアップデートされれば、自動的に対応してくれる仕組みが望ましい。あまりカスタマイズしたり、1から組んでしまうと対応が大変になってしまうので、サービスの範囲内で、お行儀よく振舞うべきかもしれない。 google以外のサービスも利用しているが、あまりいろいろ利用すると、サービスが終了したり、変更されたりすると、対策が結構面倒になる。本当はgoogle内で完結させたいところ。googleサービスであれば、変更されても別サービスへの移行がスムーズになるよう配慮はされるので気楽なのよ。

2017/08/15

LADSPA 設定ファイル読込みテスト

LADSPAで設定ファイルが読めるかどうかテストしてみた。 結構あっけなく完成。プラグインと同じディレクトリ内に設定ファイルを入れておけば、Applyを押したときに読み込まれて、その設定ファイルに書かれた内容で適用されるというもの。今回のテスト用では設定値はゲインの調整値とした。 また下のようにインターフェイスにスライダーはあるが、完全にダミーで何も機能しない。何かスライダーがないと、メニュー選択と同時に適用されてしまうので、ダミーを付けておいただけ。

内容としてはrun関数で、特定名称のファイルを開き、内容を文字列として取り込み、floatに変換し、パラメーターとして扱った。