「スコープ」を含む日記 RSS

はてなキーワード: スコープとは

2018-11-06

最初の頃はレビューボコスカ言われて涙目だったが

今では感謝してるわ

当時、言われたら無条件で直すようにしてたのも、要はわけもわからコードを書いていたからだからなあ

今は的を射ていないレビュースコープ外の話には反論するし、「それはそれとして別の話なんで、このPRにはApproveください」ぐらいは言うわ

2018-10-29

anond:20181029160025

MSの目とスコープで捕捉できる情報と、増田の言うようなコネクタから取得できるセンサー情報の両方で誤差を最小化してる。

あるいは片方が故障がした場合に片方で補完できるようにしている。

ジムスナイパー2とかでライフルスコープ覗き込んでる描写あるけど

手あたりにコネクターつければ

物理的に覗き込む必要なくね?

2018-10-21

プログラミング論理的思考の訓練

プログラミングを教えててよく分かるのは、ちゃん論理的思考が出来ているかどうかを計る道具として非常に有用だということ

口先だけで乗り切ってきた人はプログラミングを教えてもちゃん理解してくれない

知識化するときに表面上だけを理解することに慣れきってしまっていて

試験とか面接突破できるんだけど実際のところ分かってない

からプログラミングを教えて新しい物を作らせようとすると全然作れない

からあるソースを少し触る、とかもできない

例えば

def hoge(a, b):
    c = a + b
    return c

def gaga(a, b):
    print("Hello ", a, b)

っていうソースがあったとして、gagaっていうメソッドhoge演算結果が表示されるように変更してみよう、っていうことをさせると

def gaga(a, b):
    print("Hello ", a, b, c)

って答える。

もちろんスコープとか名前空間とか、そもそもそれが生まれてきた経緯とかメソッド意味とかはちゃんと教えてるんだけど

それでも理解してくれない

この問題に関して正解を教えると、この問題は解けるようになるが、しばらくすると似たようなミスを連発する

一方で論理的思考が出来る子は全然分野違いから来てる子でもそんな間違いはしない

頭の中を整理して理解しているからなのか、とんでもない間違いはほぼない

入試とか面接だと両者の区別は付かないし、下手したら普段業務でも顕在化しなかったりするんだけど

しばらく一緒に仕事をしたりすると

「あ、なんかそもそもを分かってない」

っていう子はプログラミングができない

プログラミングで何かを作らせるっていうのはそういう人間を見分けるテストとしてすごく有用だと思うし、重宝してる

2018-10-20

増田プログラマー養成講座 その8 OOPの仕組み(後半)

前回に続いて、今回もオブジェクト指向プログラミングOOP)の基本的な仕組みを見ていこう。

 

教材は、ドットインストールPHP入門です。

OOP関係してる#18から#24までのうち、後半の#22から#24までを一緒に見てみよう!

 

#22 staticキーワードを使ってみよう

動画でこんな用語が出て来た。

 

 

static

クラスベースOOPオブジェクトを使う場合普通は「クラスからインスタンスオブジェクトの具体的な実体)を作ってから使う」と説明した。

実は、newでいちいちインスタンスを作らなくても、クラスメンバープロパティーやメソッド)を直接呼び出して使える仕組みも用意されている。

それが「static」(静的)という仕組みだ。

 

「静的」(static)という言葉は、「動的」(dynamic)の対義語になっている。

newでインスタンスポンポン作っていくのが「動的」なら、new無しでコッソリとメンバーを呼び出すのが「静的」というかんじ?

 

PHPでは、インスタンスを作らなくても、直接(静的に)呼び出せるメンバーには「static」という目印を付けておく、という文法になってる。

さらに、

 

それではstaticなメンバーを入れたクラス定義してみよう。

class User {

 // プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name;

 // プロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $count;

}

 

文法的には「static」という印を付けるか、付けないかの違いしかない。簡単だ!

次は、staticなメンバーの呼び出し方を見てみよう。

 

::演算子

ちょっと待った!「演算子」という言葉は初めて出てきたね?意味確認しておこう。

1+2は3になる等、対象(1とか2とかの数値データ)を操作(=演算)して、3という結果を得られる。

 

「::」はスコープ定義演算子とか、ダブルコロンと呼ばれている。PHPマニュアルでは以下のように説明されている。

static, 定数 およびオーバーライドされたクラスプロパティメソッドアクセスすることができます

静的メンバーを呼び出す専用の記号として「::」という演算子記号)が用意されている、というわけだ。

まり、「::」という演算子を使うことで、静的メンバー操作できる。

 

それでは、「::」を使って、静的メンバーを呼び出してみよう。

class User {

 // プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name;

 // プロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $count;

}

 

// new無しでいきなり使える!

User::$count = 1; // 1を代入する。

echo User::$count; // 1と表示される。

 

実験で以下のコードも追加してみよう。

// staticが付いてないインスタンス変数(new無しで使えない)を呼び出す。(本来は呼び出せない)

User::$name = "yamada";

echo User::$name;

実行すると

PHP Fatal error: Uncaught Error: Access to undeclared static property: User::$name

というエラーメッセージが表示された。

「staticなプロパティーとして定義されてないから、アクセスできないよ!」と怒られた~~~(涙)

staticじゃないメンバーには、ちゃんとnewしてインスタンスを作ってからアクセスしないと、使えないんですね。(面倒)

 

キーワード「self」

オブジェクトメンバープロパティー、メソッド)に、オブジェクトの中のメンバーアクセスするとき

という使い分けになってる。単にこれはPHP文法なので、特に悩む余地はない。

 

this=インスタンスメンバー操作する場合

class User {

 // 普通プロパティー:インスタンス変数(staticなし。newした後じゃないと使えない)

 public $name; // ←この$nameをこの下にあるをhello()から使いたい

 // 普通メソッド

 public function hello() {

  echo "Hello, " . $this->name; // this->で指定する

 }

}

$taro = new User;

$taro->name = "Yamada Taro";

$taro->hello(); // Hello, Yamada Taro

「this」が自分自身オブジェクトを指し示す。

$this->nameで、オブジェクト(この場合インスタンス)内の$nameアクセスできる。

 

self=クラスの静的メンバー操作する場合

class User {

 // staticなプロパティー:静的変数(staticあり。newなしでいきなり使える)

 public static $name; // ←この$nameをこの下にあるをhello()から使いたい

 // staticなメソッド

 public static function hello() {

  echo "Hello, " . self::$name; // self::で指定する

 }

}

// new無しでいきなり使える!

User::$name = "Suzuki Hanako";

User::hello(); // Hello, Suzuki Hanako

「self」が自分自身オブジェクトを指し示す。

self::$nameで、オブジェクト(この場合クラス)内の静的な(staticな)$nameアクセスできる。

言ってる意味、分かる?(説明が分かりにくい?)

 

スコープとは?

「this」とか「self」とか、いちいち使い分けていて面倒くさいなーと思うだろう。

なんでこんなことをやってるか?というと「スコープ」という仕組みが関係してる。

ドットインストールPHP入門でも、#16でちょっとスコープについて説明してあった。

PHPスコープの種類は3種類しかありません

  1. ローカルスコープ
  2. グローバルスコープ
  3. スーパーグローバル

 

スコープ有効範囲

スコープ」(scope, 可視範囲)は、元々は潜水艦に付いてる望遠鏡(潜望鏡)のこと。

プログラミングでは、あるデータ変数とか)がどこまで見えるか、覗けるか、という範囲のことを「スコープ」と呼んでる。

変数関数がどの範囲まで有効なのか、使えるのかは、その変数関数スコープで決まっている。

Wikipediaで「スコープ」の説明を見ると、ゴチャゴチャ書いてあるけど、要するにスコープには、広い範囲や狭い範囲があるってこと。

 

thisやselfをわざわざ使い分けているのは、範囲を指し示すときに、

それとも

という場所の違いをハッキリと区別するためなんだ。

 

クラスオブジェクト設計図)を眺めたときに、

thisを使ってたら、「ああ、newしてインスタンスを作らないと使えないんだな」と分かる。(インスタンスの中の話)

staticとselfを使ってたら、「newしないで、静的に使えってことだな」と分かる。(クラスの中の話)

 

太郎の$nameとか、花子の$nameとか、インスタンス場合は、各インスタンスメンバーは、明確に分かれていて、両者が混ざることはない=別々のスコープになってる。

クラスの静的メンバーは、そのクラスに1個しかないので、そのクラスをnewしないで(インスタンス無しで直接呼出しときは)、いろんなところから呼び出されても、共通の中身になってしまう=スコープが1個、同じスコープになってる。

 

インスタンス変数クラスの静的変数は別物なので、thisとselfで使い分けてる、というわけだな!

 

ここまで読むと「staticって面倒くさいやつだな!なくてもいいじゃん!」と思っただろう。その通り!

staticは使わなくて済むなら、なるべく使わない方がいい。

「static 欠点」で検索してもらえば、staticを使った場合問題点が紹介されている。

どうしてもstaticじゃないと実現できないこと、staticの方が便利な場合だけ、staticを使うようにしよう。

 

(参考)PHPのstaticの使い方

 

#23 抽象クラスを使ってみよう

動画でこんな用語が出て来た。

 

 

抽象クラス

これはドットインストール説明そのままでOKですね。

 

具象クラス(今まで勉強してきた普通クラス)だけではなく、「抽象クラス」という特殊クラスを作る仕組みも用意されている。

抽象クラスは、継承してその子クラスを作るとき、「必ずこのメソッド自分で作れよ!」などと強制できる。

まりクラスの利用方法継承とか)について、プログラマーに指示を出せる働きがある。

 

抽象クラスの特徴として、具象クラス(通常のクラス)との違いを挙げます

 

1. 抽象メソッド定義する事ができる。

抽象メソッドとは、実際の処理を自身にではなく子クラス記述させるためのメソッドです。

この抽象メソッド記述できることが、抽象クラスの最大の特徴です。

抽象クラス継承したクラスは、この抽象メソッドを必ず「オーバーライド」しなければなりません。(オーバーライドしないとコンパイルエラーとなります。)

 

2. 抽象クラス単体でインスタンスを生成する事はできません。

抽象メソッド定義している。

まり、実際の処理を記述していない訳ですから当然インスタンスを生成して使用する事は出来ません。

JavaPHPも同じですね。

 

#24 インターフェースを使ってみよう

OOP継承には、「単一継承」と「多重継承」という種類がある。

普通は、「単一継承」といって、親クラスからクラス継承して作るとき、親クラスは1個だけしか指定できない。(1:1)

クラスA、クラスB、クラスCの3つを親クラスとして、クラスZという子クラス継承して作る仕組みは、「多重継承」という。多重継承可能場合、子クラス複数の親クラスを持てる。(多:1)

 

PHPJavaでは、多重継承ができない代わりに、「インターフェース」という仕組みが用意されている。

インターフェースを使うと、多重継承と似たようなことができる。

 

↑ここにクラスインターフェースの相違点がまとめられてたので、参考にしてみてください。

 

インターフェースの使い方、文法を見ておきましょう。

  • class」の代わりに「interface」を使う。
  • 「extends」の代わりに「implements」を使う。
  • 継承する」という代わりに「実装する」という言い方をする。

interface sayHi {

 public function sayHi();

}

interface sayHello {

 public function sayHello();

}

class User implements sayHi, sayHello {

 public function sayHi() {

  echo "hi!";

 }

 public function sayHello() {

  echo "hello!";

 }

}

$taro = new User; // コンストラクターに渡す初期データがない場合「new User();」みたいに「()」を付けなくてもOK

$taro->sayHi(); // hi!

$taro->sayHello(); // hello!

 

PHPOOP機能

#22から#24までを見て、PHPOOP基本的な仕組み~使える機能について見てきました。

PHPには、他にもいろんなOOPで使える機能が用意されています

 

その他のOOP機能

Javaなど他のプログラム言語には、PHPにはないOOP機能も用意されています

オブジェクトを利用するときの仕組みとして、いろんな方法が考えられてます

 

使う機会があれば調べてみましょう。

 

ここまでで、やっとOOP基本的な仕組み、用意されている機能テクニックを学びました。

次回は、なぜこんなOOPの仕組みが考え出されたのか?どうやってOOP活用していくのか?を見ていきましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か?

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半) ←★今ここ★

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-17

増田プログラマー養成講座 その5 オブジェクトとは何か?

今回は、手続プログラミングの後半となる「オブジェクト指向プログラミング」(OOP)について学ぼう。

OOPは内容が多いので数回に分けて説明してみます。(説明が下手だったらフォローお願いしますw)

 

オブジェクトとは何か?

オブジェクトobject)はオブジェクト指向プログラミングにおいて、プログラム上の手続きの対象抽象化する概念である

 

オブジェクト指向プログラミングパラダイムでは、関連するデータを束ね、代入、演算手続き(関数メソッドなど)を介した受け渡しといった操作対象にでき、またメッセージ受け手になれる実体オブジェクトと呼ぶ。

多くの場合オブジェクトは他のオブジェクトを要素として格納することができ、複雑なデータ構造表現できる。

 

Wikipedia説明は分かりづらいね。(初心者だったときの私が読んだら意味理解できないと思う)

 

増田プログラマー養成講座 その2 https://anond.hatelabo.jp/20181016164341説明した「プログラム構成要素」を思い出して下さい。

プログラムは、

  1. データ
  2. 「処理」

の2つから成り立っている。

プログラミング歴史は、この「データ」と「処理」をどうやって使いやすくするか?の試行錯誤になってる。

 

Java入門書にも、データ構造について説明があっただろ?

 

構造体の発展=オブジェクト

複数データをまとめて入れておく箱は便利な道具なので、だいたいどのプログラミング言語でも用意されている。

この講座では、複数データをまとめて入れる箱を「構造体」と呼ぶことにしよう。

 

構造体の各箱には、普通データ」を入れておくんだけど、データだけじゃなくて「処理」も入れておけると便利だ。

データ」も「処理」も保管できるように拡張した構造体に、「オブジェクト」という名前を付けた。

オブジェクトとは、言い方を変えれば、「データ」に「処理」をくっ付けたものなんだ。

 

このWebページ最初の方に「図: オブジェクトフィールド(データ)とメソッドを一つにまとめたもの」という説明図があるだろ?

この図で、オブジェクトの中に、いくつか箱があるけど、

なんだ。

オブジェクトそれ自体特別ものじゃなくて、ただの箱でしかない。データ構造一種であることが分かっただろうか?

今の段階では、難しく考えなくていい。

ややこしくなるのはこの後だ。オブジェクトを使うときに「なんでそんな使い方するの?」という段階になってからだ。(気を緩めないように、ちょっと脅しておこうw)

 

クロージャ

が「オブジェクト」なら、その反対に、

もあるんじゃないか?と思ったそこのキミ。正解!

「処理」に「データ」をくっ付けた仕組みもあって、「クロージャー」と呼ばれてる。

 

クロージャ(closure)、関数閉包はプログラミング言語における関数オブジェクト一種

いくつかの言語ではラムダ式無名関数で実現している。

引数以外の変数を実行時の環境ではなく、自身定義された環境(静的スコープ)において解決することを特徴とする。

関数とそれを評価する環境ペアであるともいえる。

オブジェクトインスタンス変数とは、オブジェクトインスタンスではなく関数の呼び出しに束縛されているという点で異なる。

この説明文読んで、クロージャーの仕組みがスパッと理解できる初心者っていねーだろ?(いたらビビるw)

Wikipedia説明は「何言ってるか分かんない」状態だけど、サンプルを動作させてみれば、仕組みは簡単に分かります

 

第1級オブジェクト

ここまでの説明で、「プログラミング言語は、機能自由拡張できる」と分かっただろう。

から、「データ」と「処理」の扱い方を工夫する歴史の中で、「オブジェクト」という仕組みを閃いちゃった奴がいたんだねw

 

オブジェクトの特徴をもう一度振り返ってみよう。

普段は「データ」をぶち込んでおく箱の集合体に、処理も入れられるように改造しちゃったのが「オブジェクト」だったね?

…ってことは、処理とデータ水と油みたいに別々のものじゃなくて、実は処理もデータと同じように扱えるものだってことになるよね?

そうなんです!

実は「データ」と「処理」は全然別なものじゃなくて、同じようなものとして(扱おうと思えば)扱えるんです!

それで、このデータとして扱えるような「処理」に名前を付けてあげて、「第1級関数」とか「第1級オブジェクト」と呼んでます

(「第1級データ」という呼び名が使われてないのは、データデータとして扱えるのは当然なので、わざわざ第1級データという呼び名を付ける必要がないから)

 

第一オブジェクトファーストクラスオブジェクト、first-class object)は、あるプログラミング言語において、たとえば生成、代入、演算、(引数戻り値としての)受け渡しといったその言語における基本的操作制限なしに使用できる対象のことである

ここで「オブジェクト」とは広く対象物・客体を意味し、必ずしもオブジェクト指向プログラミングにおけるオブジェクト意味しない。第一オブジェクトは「第一データ型に属す」という。

言語によって異なるが、第一オブジェクトは概ね次のような性質もつ

上記説明文の中で「制限なしに使用できる」って部分が重要

 

第一関数(first-class function、ファーストクラスファンクション)とは、関数第一オブジェクトとして扱うことのできるプログラミング言語性質、またはそのような関数のことである

その場合その関数は、型のある言語では function typeなどと呼ばれる型を持ち、またその値は関数オブジェクトなどになる。

具体的にはプログラムの実行時に生成され、データ構造に含めることができ、他の関数引数として渡したり、戻り値として返したりすることのできる関数をいう。

上記説明文の中で「データ構造に含めることができ、」って部分が重要

 

フリーパスでどこでも入れちゃうVIPみたいだからファーストクラス(第1級)と称されてるんだね?

ドラえもんの「オールマイティーパス」を持ってる奴みたいなのが、「第一オブジェクト」「第一関数」ってわけ。

ドラえもんオールマイティーパスは、どこでも入れる通行証です。

これを係員に見せるだけで、どんな交通機関でも無賃乗車できて、どんな有料施設でも無料入場できます

通常なら入ることの許されない立ち入り禁止区域でさえ入れます

 

 

オブジェクトまとめ

 

混乱するようなら、上記説明で、クロージャー以降の話はとりあえず無視してください。

 

参考

オブジェクト説明をどうしようか?と考えるとき、参考にしたページも紹介しておきます

 

 

次回、オブジェクトの使い方=オブジェクト指向プログラミングについて学びましょう。

 


anond:20181015215004 未経験からプログラマーなんだが全然からない

anond:20181016015826 増田プログラマー養成講座 その1 パソコンの用意

anond:20181016164341 増田プログラマー養成講座 その2 プログラムデータ+処理、プログラム言語の種類

anond:20181016180059 増田プログラマー養成講座 その3 構造プログラミングの基本(順次、反復、分岐

anond:20181016193144 増田プログラマー養成講座 その4 子ども向け教材「Scratch」で構造プログラミング練習

anond:20181017161003 増田プログラマー養成講座 その5 オブジェクトとは何か? ←★今ここ★

anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備

anond:20181019181549 増田プログラマー養成講座 その7 OOPの仕組み(前半)

anond:20181020230044 増田プログラマー養成講座 その8 OOPの仕組み(後半)

anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう

anond:20181023184616 増田プログラマー養成講座 その10 OOP参考書

anond:20181024214737 増田プログラマー養成講座 コンテンツ一覧

2018-10-14

anond:20181014232604

西欧的ではあるけどな。最上段に「産めよ、増えよ、地に満ちよ」があり、中長期的な政策合理性があり、最後短期経済合理性があり、資源分配は短期ほど多く、権限は長期ほど強い、という階層構造的な考え方が背景にあるから

日本ではどうしてもこういった長期的な合理性短期的な合理性完全に一致せずしか優越関係がある、階層構造があるという考え方は受け入れられにくいな。すべてが同じ階層、同じスコープの中で大小関係による闘争があるとした方がウケがいい。キリスト教布教が全く響かないというのもこの辺りだろうから、受け入れられるようにしてしまっては沽券に関わるのかもしれないが。

2018-10-13

anond:20181013011421

はてサとして補足するとスコープの違いだと思う 社会的正しさは十年百年スパン人類繁栄のためなので四半期単位の行動戦略との整合保証されないんだと思ってる

2018-10-11

anond:20181010165019

日本銃器描写交戦距離が短すぎ、視力よすぎ。敵の弾切れなんか遠くて分かんない。敵が何持ってるかなんか肉眼でもスコープでも分かんない。狙ったところに弾が飛んで行ったりもしないし。

2018-10-07

anond:20181007233815

最初スコープが「はてな民」なのに、文章の後半で「乳袋問題提起するはてな民」に焦点を当ててるのは何で?なんで?

知識人を気取ってる人に対して冷笑してみせるために詭弁を弄してしまうのはなんで?

なんでばっかり言ってる私は何で?

ナンライスナンで!

2018-09-28

anond:20180928171840

〜が終わったらお前も助けてやるから、今はしゃしゃり出てくんなデブ

とでも返しとけばいいのに

「今はスコープが違うから」で相手にしなければオッケーでしょ

まあ実際はKKOなんぞ助けませんけどねえ

2018-09-20

anond:20180920115827

荒川区とか台東区で同じ地域でも~って語るならともかく、

大田区とか荒川区の6倍も広い地域で「同じ地域でも~」は流石にスコープデカすぎ。

道民かなんかか?

2018-06-30

https://anond.hatelabo.jp/20170918194630

2ロック破錠シリンダー交換してるんでしょうし、賃貸から同等品に交換せなならんと考えるとその値段もありえるのでは。

と思ったらドアスコープ破壊だけなんですね。お疲れさまです。。

月額とか年会費とか取る会員制サービスで鍵解錠とか水回りやります、みたいなのありますが、契約によるけど業者出張費しか負担しないのが多いかも。

部品代・特殊作業費等の別途費用はお客さん負担で、別途費用分が高額になる場合もあります

とにかく見積もりを事前に出してもらった方がいいです。あと賃貸なら営業日まで待って管理会社相談した方が結果的スムースかつ安い気も。

2018-05-15

anond:20180515112936

沖田艦長波動砲用意。島、操縦を古代に渡せ」

島「古代、渡したぞ」

(艦が揺れて、悲鳴が上がる)

沖田艦長波動砲安全装置解除」。

古代安全装置解除。セイフティロックゼロ圧力、発射点へ上昇中」

「最終セーフティ解除。ターゲットスコープオープン!」

(ターゲットスコープが展開)

古代電影クロスゲージ明度20目標惑星ミサイル

徳川エネルギー充填、120%!」

沖田艦長「発射10秒前! 対ショック・対閃光防御!」

(ゴーグルをかける)

古代「「5・4・3・2・1…波動砲、発射!」

(波動砲発射される)

2018-04-27

人がものを見るとき、大抵は見た人の内面にあるものが見えている?

M:彼らはそうした。でもほかの問題が、引き続き起こってしまったんだ。ぼくはアルバムブックレットに、子供のころに撮った、ぼくが裸でカウチに座っている写真を使いたかった。人に何かを見せると、たいていまず最初にそこに見えるのは、彼らの内面にあるものなんだ。それを証明することが起こってしまった。インタースコープ弁護士たちがこんなふうに言ったんだ。「まず第一に、あの写真幼児ポルノと見なされるだろうから小売店アルバムを置かないというだけではなく、そのために法的刑罰を受けることになるだろう」と。裁判官立ち会いによる法の下では、未成年者の写真性的興奮を呼び起こせば、それは立派な幼児ポルノと見なされる、と彼らは言った。ぼくはこう言った。「それこそ正にぼくの狙いなんだ。これはぼくの母が撮った写真で、まったく無邪気で、しごく当然のことなんだから。でも、君たちが見てポルノになったからって、どうしてそれでぼくが罪人なんだい?君たちのほうが勃起したんだろう。どうして君たちが罰せられないんだい?」って。それって、今でもぼくが言いたいことだ。人々の道徳観なんて、あまりバカ気てるよ。それで興奮したからって、それが間違ってるなんてさ。

マリリン・マンソン自伝-地獄からの帰還- 1999年5月9日 シンコーミュージック

2018-04-25

まり人に命令とか指示みたいな感じで依頼したくないけど、

そういう感じでないと、話のスコープ無限にずれていく人はいる。。

2018-04-15

システム監査技術者2018/4/15メモ

覚えている内にメモ

■午後1

<大問2>

設問1:本番運用サーバに負荷を与え、予定や会議室登録などの従業員の通常業務に影響するリスク

設問2:申請者に、個人情報の利用目的・保管場所削除予定日を確認し、実際に削除されたことも確認すること

設問3:必要以上のサービスレベル提供する体制を用意することにより、コスト配分を最適化できないリスク

設問4:活用検討会の議事録を通期確認し、新規データおよび追加収集したデータの利用状況を確認する

設問5:会議開催実績表を通期確認し、情報共有を目的とする各部門の会議が減少していることを確認する。

<大問3>

設問1:a=新販売システムでの自動チェック

設問2:b=EDI取引契約

    c=受注伝票

設問3:e=1注文が10万円以下となるように分割発注されてしまう、

    f=受注責任者が、承認なしで処理したデータ一覧を日次で確認する

設問4:g=出荷完了リスト出力時に、当日出荷日のデータが出荷入力されていない場合に通知する機能があるか確認する

■午後2

<大問1>

難しそうだが選択者が少なく採点甘めになりそうだったこと、

H25午後1--問1がアジャイルに関するもので、イテレーション毎の反省会

要件スコープの逸脱に注意する点などが述べられていて、覚えていたためにこちらを選択した。

# TAC合格トレーニング本の解説もためになった。選んでよかった。

設問ア:

システム概要を述べる。インターネットシステムのほうがよさそう。

開発会社のPKG部分からの追加開発が多いこと、

要件不明瞭な点が多いこと、社会情勢によって本PJへのコスト配分を検討したいため、

などがアジャイル開発を採用した理由とした。

アジャイルの内容としては、イテレーション4週間で設計・開発・テスト・UATおよび内部分析したこと

開発環境に関しては、自動ビルドデプロイツールを利用したこと記述

設問イ:

2-1 体制スキルに関するリスクコントロール

 ①アジャイル経験者がないために、PJが進められないリスク

 ②アジャイル経験者がないために、Pスコープ外の顧客要件対応してしまリスク

 ③アジャイルにおける開発環境構築の経験者がいないために、テストが遅れ納期間に合わないリスク

これらのリスクに対するコントロールとして、PMPJ立上げ時に各経験者を参画させる必要がある。

また、開発が進んだ時には、1イテレーションの終わりに、当サイクルのプロセス分析し次サイクルに

改善点を生かしていくコントロール必要

2-2 開発環境整備に関するリスクコントロール

上述の③のようにスキルのある人材必要だが、実際の構築にあたり、

実はスキルが無く、進められないあるいは構築した環境品質がひくくなりテスト進捗が遅れるリスク

期待したメンバが、他タスクに埋もれ本来環境構築作業に着手が遅れテスト進捗が遅れるリスク、がある。

このコントロールとして、PMが構築時の進捗および品質を把握し管理する必要がある。

設問ウ:

3-1 体制スキルに対する監査手続

監査証拠  :PJ立上時のPJ計画

監査手続き :体制図の説明を査閲する。

監査ポイントアジャイルアジャイル用の開発環境構築のスキルを有していることをPM確認しているか

       またコレに関する上長承認を得ているか

監査証拠  :イテレーション毎の成果分析会の議事録

監査手続き :査閲する。

監査ポイント:終わったイテレーションプロセス反省・次への改善点に言及されているか

       次サイクルの同議事録で、その改善効果言及できているか

3-2 開発環境整備に対する監査手続

監査証拠  :構築フェーズにおけるPMPJ進捗報告書

監査手続き :査閲する。設計工程や構築工程フェーズアップ資料か。

監査ポイント環境構築の進捗が把握されていること。環境の構築品質について評価していること。

監査証拠  :実際に構築された開発環境

監査手続き :開発メンバあるいはテストメンバにヒアリングする。

監査ポイント:開発したモジュール自動デプロイされ当日あるいは翌日に当該機能テストができる状態か。

以上

2018-04-02

globalでスコープがでかい長い関数がえらい、みたいな感じで返ってきて死ね、という気持ちだった。。

2018-03-31

入れ子階層構造理解できない奴なんなの

2018-03-30

anond:20180330155934

文脈依存性は排除するべきっていうのはわかるよ

メソッドはその呼ばれるスコープ内でどう呼ばれようが正しく返さないといけない、というのが常識だし

そのためにスコープを絞るってのも常識

今はその「絞るための方法が足りねぇ」って話な

 

これは、「機能としては1メソッドなんだけど可読性がクソだから分けた」みたいな状況で起こる

可読性のためにブロック化するっていうのは、結構苦心してる人を見かける

言語によって{}で括ってインデントつけたり

俺はそういうのトリッキーで見づらいかメソッドにしちゃうんだけど、メソッドにすると意図されないリスクが伴う

意図されない」はメソッドが丸ごとコピーされることも含まれてるから、かなり強い縛りを付けたい(コピーする時に気づけるように)

(ちなみにまともな開発者を想定していない。現在主流の方法論って開発者がまともであることを前提しすぎだと思うわ)

2018-03-25

今回のフェス結果

21勝23敗で永遠の人気に到達


よっわ


ブキ内訳

ボールドマーカー  0勝1敗

N-ZAP95     9勝13敗

4Kスコープ    12勝9敗


やはり普段使ってるブキだと勝率が上がる フェスからと気軽に持ち替えるのは戦犯証拠


ミステリーゾーン うち16戦 

ボールドマーカー 0勝1敗

N-ZAP95     5勝1敗

4Kスコープ    7勝2敗(負け試合に味方切断1試合あり)


全体的に良好 ネットの評判はボロクソだがそこまで不満を覚えなかった それが勝率に現れているのではないか もちろん基本のステージで負けが込んでるということでもあるが

今回のギミックカスタム使用のリッターにおける簡易ビーコンの役目も果たしており戦場の動的な移り変わりに大変貢献してくれた 芋っててもパスパスいけるので不慣れなプレーヤーが多かったのだろう ここは適応力の高さが奏功したか

2018-03-22

主役ロボが緑

シンカリオン見てて思ったんだけど、主役ロボが緑系ってあんまりない?

ぱっと浮かぶのはゼーガペイン・アルティールとウォクス・アウラあたりかな?

スコープドックも緑だったかな?

アーカイブ ヘルプ
ログイン ユーザー登録
ようこそ ゲスト さん