「テストファースト」を含む日記 RSS

はてなキーワード: テストファーストとは

2021-06-02

会社経営してるけど、元増田達とはだいぶ体験は違う

anond:20210601142224

anond:20210601191822

法人成りはしているけど分類は店。事業を大きくするつもりもなく人を雇いいれるつもりはないのだけど、心身を病み無職期間が続きどうしょうもないとか、一度も働いたことなく40歳間近とか。近所とかNPOからおっつけられることがある。単純軽作業をしてもらうんだけど、考えられないようなミスをぽんぽんやらかす。時給1000円なのにカジュアルに損失をだす。

作業によって付与できる付加価値なんてたかが知れてて、原価950円のものちょっと手間をかけて1000円のものにするというような最終工程想像して。時給1000円の子なら一時間でこの作業20回できて人件費トントンだ。習熟度があがってそれがどれくらいいくかとか、歩留まり変動費固定費を踏まえて最終売価を決定する。

だけれども困ったことに、そういう子は何故かケースごと落としてものをだめにしたり何故か設備ごと破損したりするわけだ。なにかをやらかしても自分で始末ができないので熟練者の指導や補助が必要給食当番クラス給食をまとめてひっくり返えす子が給食当番専任になるクラスを思い浮かべて欲しい。みんなが無事に食べ物にありつくために対その子シフトの専用のフォーメーション必須になる。

実際に働いてみて、その後に障害者手帳をとった子も何人かいた。

こんな風に社会にぎりぎり出れないぐらいのボーダーの子世間にはそれなりにいる。それこそ給食をひっくり返す子ぐらいには存在する。

真面目に一生懸命掃除したつもりで、結果、散らかしたのかなっていう成果しか出せない子は実在する。根気よく指導すればいずれ人並みになんとかなると思うかもしれないがそれは幻想かもしれない。

このような人は金を払って損失を買い招くようなものから普通は雇いいれることはできず採用の段階でスクリーニングされる。日本はクビにもできないし、損害分を従業員から取るようなことはできないのだからなおさら慎重になる。もし、正社員などとして雇ってしまったら、なにかをしてもらうだけで信用問題や莫大な損失になりかねないので閑職に追いやることになるのだろう。

最低時給をあげても、その事業市場において価格決定権があるなら問題ない。

だが、世界にはコモディティの過剰供給能力があり、あらゆる市場はほぼ完全競争になっている。プライステイカー大勢をしめる社会で、ロースキル、ノースキルなために、時給で働く人材活用領域はごくごく狭い。産業類別付加価値額や年代別の売り場面積あたりの必要人員数などをみればわかる。

最低時給をあげても新たに仕事が生まれるわけではない。← ここ重要

必要付加価値額のハードルがあがるだけでしかない。

冒頭の軽作業でいえば1時間20回でクリアだったのが時給1500円なら30回いかないと不採算人材になる。

不採算事業は整理され、不採算人材ボーダーが上にあがり、そこに届かないもの不要とされ、他のもの代替される。

ボーダーからぎりこぼれ落ちるぐらいの子ができる仕事を先に作らないと社会からあぶりだされ不要人材となる。

不要人材不要会社

不要の用は要だ。遊びがななければ外的環境変化によって滅んでしまう。

実際の障害者と非障害者能力連続的でほぼ正規分布曲線に従うが公的支援は段階的だ。

最低時給を先行して一律悉皆にあげるべきではない。テストファースト。まずどっかでやってほしい。何がおこるかわかるから

というか、外国でやった国あるよな。

2020-12-20

プライベートメソッドテストすべきか

「すべきでない」というのがたぶん多数派

テストすべきでない理由としてだいたい次の理由があげられる。

プライベートメソッド関数テストする必要は無いと考えていますプライベートメソッドは、実装の詳細であるからです。

多くの場合、そのクラスパブリックメソッド経由でプライベートメソッドテストも同時に行えます

プライベートメソッドのテストは書かないもの? - t-wadaのブログ

ほとんどの場合プライベート メソッドテストする必要はありません。 プライベート メソッド実装の詳細です。

プライベート メソッドがある場合は、パブリック メソッドを見つけて、そのメソッドに対してテスト記述します。

単体テストを記述するためのベスト プラクティス - .NET | Microsoft Docs

プライベートメソッドテストするな」と強く主張されるのは、ケント・ベックの影響もあるかもしれない。

例えばtwitterで、パブリックメソッドにだけテストを書き、テスト必要なほどプライベートメソッドが複雑ならそれを別のオブジェクトに切り出す必要があると発言している(twitter/kentbeck)ように、プライベートメソッドテストに強く反対している。

またベックの書いたSUnit(xUnitの源流にあたる)には「ひとつテストひとつオブジェクトで表し、それによってテスト独立性を高める」というアイディアが使われている(そのアイディアを実現するためにとても複雑な設計をしている Simple Smalltalk Testing: With Patterns)。テスト自身ひとつオブジェクトとして独立しているなら、テスト対象となるオブジェクトプライベートメソッドテストできないのは当然のことになる。

しかし「プライベートメソッドテストがしたい(したくなることがある)」と感じる人も相当数いる。

そう感じる人にとってはむしろここからが本題で、

問題になる。

テストファーストで開発するなら手を動かしながら軽い気持ちで書きたい。

例えそのクラスがprivateメソッド依存関係があっても。

コンストラクタインジェクションされたクラスのprivate メソッドでもテストファーストしたい - Qiita

privateなルーチンの自動テストは面倒だ。実際にコーディングするとき最初publicにしておいてテストしてうまく動いていそうならprivateにするのだけど、この「いそう」がくせ者。いっそのことすべてpublicにしたくなる。

私は元々メソッドはprivateにしない主義なのでメソッド場合問題ないのだけれど、ファイル内の「関数」が問題になる。和了計算だと和了形判定とか符計算とか和了役判定とか単体でテストしたい内部関数が山ほどある。(twitter/koba0367)

private メソッドテストすべきか問題原則論だけだと袋小路に入りがちだから、private メソッドテストしたくなる具体的な場面について議論したほうがいいと思う。

自分レビューでよく見る例としては、複数の public メソッドの重複部分を private メソッド抽出した結果、濃い private メソッドと薄い public メソッドが一対多関係になる場合が挙げられる。設計としては間違っていないし、わざわざ public メソッド経由でテストする意義があるかというと微妙。(twitter/ts7i)

きれいなインターフェースを作ろうとすればするほどpublicメソッドじゃない部分に複雑性を追いやることになり、壊れた時に手戻りが大きすぎると思ったら、プライベートバックドア開けてでもテスト書くようにしてます (twitter/mizchi)

しかプライベートメソッドに対するテストを書こうとすると大概リフレクションなどで可視性の制限をすり抜けるとかメソッド可視性を変更するといった回りくどさやコストの導入が必要になるので、じゃあプライベートに対するテストはそうしたコストに見合うのかが問題になる。

伊藤さんの答えは「原則書かないほうがいいという大前提のうえで、どうしてもというときは、"これはテストのためにpublic"にしているというコメントの上でpublicにする」だった。

自分は「テスタビリティのためにメソッドをpublicにする」っていう"実プログラム挙動を変えること"の方が、「privateなメソッドテストコードのみsendで叩く」よりも怖いって思ってることに気がついた。(twitter/highwide)


メソッドプライベートパブリックかという話とそれをテストするかどうかは別問題だろという意見もある。

単体テストホワイトボックステストだとするなら、publicかprivateかでテストの有無が変わるのは明らかにおかしいだろ。ややこしいロジックはprivateに隠蔽すべきだが、そこがテストできないなんて。 (twitter/kmaebashi)

private メソッドテストするかどうか? まず最初に言っておきたいのは public/private は抽象設計問題であって、テストすべきかどうかとは当然無関係だろうということ。(twitter/qeigoi)

特定言語の貧弱な機能思考制限を受けて誤った結論を出している典型的な例。

"テストを書くべき"と"上位層から可視性"は直交する概念

https://b.hatena.ne.jp/entry/4684049296462116226/comment/megumin1

テスト粒度メソッドアクセス権は独立したものなので、「プライベートメソッドテストすべきか否か」という切り方自体ナンセンスではあるのだが、現実問題としてはアクセス権がテストに影響するので難しい。(twitter/AoiMoe)

private メソッドテストはすべきかどうかというより、「できるべき」であって、それができないというのも、ある種、言語機能テストインピーダンスミスマッチと言えるのではないだろうか、と思っている。(twitter/aetos382)


プライベートメソッドテストがしやす言語での意見

RustやGoではプライベートメソッドに対するテスト簡単にできる。

そのためかプライベートメソッドテストすることに対して拒否反応があまりないようだ。

Rustのテストファイル内とtests/以下の2箇所に書ける。

テストには開発用のホワイトボックステスト仕様確認用のブラックボックステストがあり、前者をファイル内に、後者をtests/に書けば良い。

例えば度々議論になるプライベート関数テストについてはもちろんホワイトボックステスト。(twitter/blackenedgold)

Rustではプライベートに対して何の手間もなくテストが書ける。

概念的にはプライベートに対するテストは外部コードではなく内部コードの一部として見るべきなのだろう。

Rust入門を兼ねてプロジェクト・オイラーの問題を解く - 再帰の反復blog

Rustでprivateなメソッドテストを書きたいなら、そのメソッドのすぐ隣に書けば内部アクセスになるから普通に書けるよ、ってのは目からウロコだった。できるだけ近いところにテストを書こうっていう文化と相まって最高。(twitter/kuy)

Rustみたいに単体テストは同ファイルに書ければいいのに

assertionチックにprivateメソッドのすぐ下にテスト書きたい

ドキュメントにもなるし (twitter/takaya_tim)

Rust のようにユニットテストプロダクションに混ぜる方式はおれもいいと思ってて、テストプロダクションを分離することで private 関数テストができない問題があるけど(テストしたければクラスを分けよ/メソッドを公開せよ/テスト必要なし、に分かれるよね)、そもそもこの議論不要になるよね (twitter/nunulk)


go言語だとプライベートメソッドテスト普通にやりますね。(twitter/mattn_jp)

昨日「private method の単体テストは書くか否か」という話題がちょいとあったのだが、わしは当然書く感じの昨今を送ってきたもんで何で書かんのやくらいに思ってたんだけど、Go だと private なやつのテストが書きやすいってのがデカそう。(twitter/pankona)

golangのテスト書いてたけど、テストプログラム名前空間(パッケージ)が、対象プログラムと一緒で、そのためプライベートメソッドでもテストできるの良い感じ (twitter/74th)

Goテストコードテスト対象と同じパッケージにすればエクスポートしてない関数でもなんでもテストコードから参照できるんだけど、これってプライベートメソッドテストすべきか議論するよりテスト書けと言われているようで好き。(twitter/plan9user)

プライベートメソッドテストするか?」とは別にドキュメントソースコードと同じファイルに書いていい(文芸プログラミング)なら、単体テストテスト対象と同じファイルに書いてもいいのでは?」というのも論点になるかもしれない。

2020-11-15

anond:20201115125745

仕事にしてしばらく経ったら大して好きでもなかったな」と「○○歳定年説」は、ベクトルが違う。

昔は、やりたいのにやらせてもらえない。そんな時代だった。

キャリアアップと言えば、手を動かす → 人を使う、の一択しかなかったから。

今は良い時代だ。

正直、アジャイルとかテストファーストとかDDDとか、どうでも良いと思ってる。

大事なのは、「名前」がついたこと。

名前がつくことで、大義名分にできる。

正直、真似事ですら、できるやつはあまりいない(定年説を唱えている界隈では)。

効率だ、品質だ、に、ふんづまったところで、大義名分は、ポンコツを除外できる とても良い言い訳になる。

少数で、歳は食ってるけど、その分、経験はあるやつと、経験は少なくても、知識貪欲でパワーのあるやつだけでチームが構成できると、とても楽チン。

Wizard みたいなのじゃなくても、コード書いて楽しんで生活できてるのは、一定数は居ると思うけど。

2014-01-23

テストファーストなんて幻想だ。TDDなんて空想だ。

理想

 テスト書く

 ↓

 テストコードレビュー

 ↓

 コード書く

 ↓

 コードレビュー

実際

 コード書く

 ↓

 コードレビュー

 ↓

 テスト書く

 ↓

 コードレビュー

になってるんだけどさ

これ、テストコード書く意味あんの?

2012-10-06

YAPC::Asia Tokyo 2012のエントリがうざい

単純に俺が嫉妬してるだけだけど、ひとつプログラミング言語でたくさんの人たちが慣れ合っているのを見るのが辛い。

職場で使ってるC#(いまだに2.0)もJava(いまだに1.4)も、そんな世界とは無縁なんだもん。

どんなにPerlがすごいことになったとしても、俺には全く関係ない。っていうか、仕事プログラミングする世界というのは楽しくないはずなのに。

そして、この「プログラミングが楽しくない」というのはきっとプログラミング言語のものとは関係ない。今の職場Perlが使われたとしても、それは今使っているC#/Javaと同じように、訳の分からないクラスメソッド命名ルール肥大化してメンテのされない"共通メソッドライブラリ"、前バージョンコードコメントアウトして保存、テストファーストでもなくリファクタリングも許可されない、のようなやり方になるわけで。

楽しそうなプログラミングコミュニティを見るたびに負の感情に包まれる。

2012-09-04

最近意識高いエンジニア達に感じる違和感

勉強会っていうかOFF会だよね

勉強会のつもりで行ったらただのOFF会であまり勉強にならない、という事が多い。

(OFF会的な側面がメインなら、そう銘打って欲しい)

何そのLT信仰

アウトプットは大切だけど、LT銀の弾丸ではないので万能のように言うのいくない

何そのTDD信仰

テストファースト有効な場面が多いけど、TDD銀の弾丸ではないので万能のように言うのいくない

何そのアジャイル信仰

アジャイル理念は素晴らしいけど、アジャイル銀の弾丸ではないので万能のように言うのいくない

何その特定言語信仰

全ての言語銀の弾丸ではないので、万能のように言うのいくない

Twitterセキュリティのあれこれしているの、何か秘密警察みたいでアレ

アレ。。。

いじょー。

2012-05-18

ハッカーVimを使う」 騙される若者たちなのか

Eclipseemacsvimより優れている点を挙げてみよう。

 

 

リファクタリング機能が強力 →本当か

CVSリポジトリの構成を直接覗ける →redmineとかを使ったほうがいいんじゃないのか

デバッガグラフィカル → それ、うれしいか

・設定できる警告メッセージの種類が豊富。→警告そんなにいるのか

復元機能が非常に充実している。 →バージョン管理ソフトがあれば普通だし

 CVSのように以前の状態に復元すること、以前の状態の →diffじゃダメか、というかなんでいまどきCVSなの

 ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能存在する。

プラグインの数が豊富、膨大。 → 数があってもつかえるのは少ない

プラグイン開発環境Eclipse自体に用意されている。 →開発環境を使って作る程のものでもなく、バッチファイルとかスクリプトでよくね

ライセンス形態CPLであり商用利用もしやすい。 →eclipse組み込んで出荷するの?

・上位版にWSADが存在する。 →WSDADってなに、WebSpereの残骸?

IBMバックアップがついている。→それは何か役に立つの

Smalltalkで有名なVisualworksの影響を受けているため、

JUnitプラグイン(Eclipse標準装備)によるテストファーストリファクタリングの他、eXtreme Programming環境が充実している。→Jenkinsのほうがよくね

SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!→コマンドラインから実行するsvnコマンドを覚えておくとはターゲットでも動いて便利だよ

・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!→スタック見るだけのことじゃないの

プラグインによってはURLを指定するだけでプラグイン自動ダウンロード自動インストール

自動アップデートができるためプラグインインストールが非常に容易。→勝手に変わったら怖くない

Eclipseから直接Tomcat, JBossなどを再起動できるSysdeoプラグインJBoss-IDEプラグイン

 という強力なプラグインが充実している。→えー、今頃Tomcat

EclipseUML Omondoプラグインによりクラス図などを書いたり、

 UMLによるModel Driven Architecture, リバースエンジニアリング

 などを即座に実現できる。→これは何だかからない

RSSリーダープラグインMP3プラグインAll The Newsプラグイン

など様々なプラグインが充実している。→それ開発ツールじゃなくて携帯でやったほうがよくね

PHP開発が可能なTruStudioプラグインPerl開発が可能なPerl E.P.I.C. プラグイン

C/C++開発が可能なCDTプラグインAspectJ開発が可能なAJDTプラグインなど

言語プラグインが充実している。→Java以外は所詮おまけだけどね

・そのほかにD言語プラグインC#プラグインPythonプラグインJavaScriptEditorプラグイン

CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン

Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン

ゲームができるプラグイン、メーラとしてつかえるプラグインWikiプラグインHibernateプラグイン

FindBugsプラグインCheckStyleプラグイン、JalopyプラグインSobalipseプラグインソロプログラマープラグイン

など様々なプラグインが充実している。→それぞれ単機能ソフトのほうが充実してるんじゃないの

 

 

どうしてもeclipseというなら止めないけど

2012-05-14

ああ、みんな「嵌っちゃったんだな」と思ったとき

最近のソシャゲ問題、自分は少し勘違いしていたようだ。

というのが、作ってる人たちは「これ、正直やばいけど稼げるし短期決戦で得るもん得ていこうか〜」くらいの気持ちでやってるのかと思ってた。

実際この考えの人は少なからずいるはずだ。

あるいは、「ヤバいけど、ライバル会社もやってて生き残るには自分も参加するしかない。」っていう、

ある種の邪悪チキンレースに乗ってしまっている事を自覚してる人たち。

この人たちは、まぁ、邪悪だけど仕方ないのかなと思う。

※なお、本当に本当の意味で『邪悪』な人たちはとっくの昔に上がりを頂戴して既にあの場にはいないはず。

 少なくとも某女史は完全に逃げ切ったのかなと。



けれども、どうも中の人たちのレスポンスを見る限り、「俺たち悪い事してねーし!」みたいなことを本気で考えている人たちがいる様子。

この人たちはヤバい。何がヤバいかと言うと、「罪の意識希薄化」がされたことに一切気づいていないと言う点でヤバい。

そしてそのヤバさが、プログラマーっていう職業に対する社会認識が悪い方向に傾きかねないのでヤバい。

いや、もう手遅れだ。多分、後一年後にはIT業界に対する世間の目そのものが冷たいものに変わっているだろう。



まず僕はあの場で「俺悪くねーし!」って言ってる末端を攻めるつもりは無い。

(といっても役職持ちでこんなことを言ってる連中には残念ながら、だけど。)

けれども、彼らが嵌った「脱法的ソシャゲー開発」の一端は解き明かしておきたい。

何故なら、このロジックは非常に単純で、かつ効果がテキメン。特に技術職に従事する連中に対しては。



さて、例え話をしよう。

ある巨大なアプリケーションをこれから作るとする。

それは先端のライブラリを使い、高負荷をものともしない作りにし、

ユーザーフレンドリーなインターフェースであり、

またユーザーを飽きさせないよう常時色々なキャンペーンを打っていくアプリケーションだ。

ユーザー数は膨大で、アクティブユーザー数だけでも10万を超す。

このアプリケーション作成して運用するのは、いくら何でも一人では無理だ。

そこで仕事を分割し、プログラマーインフラエンジニアUXデザイナ、WEBデザイナーディレクター

アナリストPM、営業…などなど、それぞれの専門職を適切に配置し、

それぞれが自分の得意な事に集中できるようにする。

こうすることで、それぞれの専門職にとって雑多な事は、耳半分で会議を聞きつつうまく回る。



さて、次の例え話をしよう。

とある邪悪人間が、邪悪で脱法的な方法お金を稼ぐロジックを思いついたとしよう。

しかし、規模が大きいので人手がいる。けれども、他の邪悪な連中を誘い込むと美味しいところを奪われたあげく、

責任をなすり付けられる可能性が高い。

ならばどうするか?「普通の人」を巻き込めばいい。

でも、「この方法情弱を騙して稼ごうぜwww」というと、人は訝しみ、拒絶する。

けれども、その邪悪ロジックを分割して、分割したそれぞれの仕事違法ではないものにすると…?

あるいは、分割したロジックを事前に3つ前後の別のクリーン仕事適用して失敗して後が無い状況を演出しておき、

たかも「本当の」仕事の中で『偶然』結合してしまうと…?



ここで、だ。結合された後のサービスのありようを見て、「これって、ダメなんじゃない?」という人は必ず出てくる。

でも邪悪な人にとってはそれすら計算済みだ。

ここで、技術職の悪い癖を利用する。

技術職は「0か1か」での判断をすることに常にさらされているため、

そうではない世界でも「0か1か」で決まるものだと錯覚やすい。

テストパターンが緑を返せば緑だと信じる。

から駄目なテストパターンを置いておく。

テストファーストで、事前に使えない法務を置いておく。

「うちの法務に事前に確認しましたが、法律上問題ないとのことです」と。



※注意

法務の方々の名誉の為に言っておくと、システム邪悪さを理解して邪悪さを誤摩化す回答をする法務も一部にはいるが、

大勢は駄目なものは駄目だという人がほとんど。

そこで、邪悪な人は特定の条件下で起こりうる例外を提示して「それならグリーンだ」と言わせておき、

その例外を隠して「この前うちの法務に事前に確認しましたが、法律上問題ないとのことです」と

皆に説明すれば、普通開発者は「それで良いんだ」となる。



法律は「0か1か」に見えてそうじゃない。

少なくとも過去判例が出ていないものについては「0か1か」すらわからない。

ようは「未テストの項目」に過ぎない。

裁判所」というテストを通らない限り、「0か1か」なんて本当はわかるはずもない。

それも、テストの内容によっては関係するモジュールや実行環境タイミングによって結果が変わる事すらあり得る。

法務の言う「大丈夫」なんて、ようは自動テストやってない職場ベテラン開発者がいう「あ〜あそこはきっとOracleバグ(※ただし未検証」と同じ程度の回答だ。

(本当はOracleバグではなくそいつが作りこんだバグなのかもしれない。)



さて、普通技術者邪悪テスト結果をまんまと信じたら、あとは邪悪な人の思い通りだ。

まず、そのテスト結果を信じた普通の人は、他にも不審に思った人に対して「あれは問題ないって法務が言ってたよ」と伝える。

見事なまでに邪悪CIの出来上がりだ。

通常、CIは繰り返し同じテスト自動で行う。

が、ここでは同じテストを繰り返さず、過去レポート、それも又聞きのレポートを伝えているに過ぎない。

もう一度同じテストをかけていない。自分の目と耳で、法務から直接話を聞いていない。



また、結合前のクリーン仕事をしているそれぞれの担当者に取って、

結合後の姿より結合前の状態がその人の仕事の大半であり、「本当の意味での」結合後の姿を見てるようで見ていない。

単体テストバリバリこなすだろう。しかし結合後のストレステストセキュリティテストは専門外として見向きもしない。

いや正確には「何かあったら、専門の担当者が文句つけてくるはずだ」と待ちの姿勢でいる状態だ。

邪悪な人は、間違いなくその専門の担当者が各部署を回って抜き打ちテストやらせるなんて事はしない。

そもそも専門の人を社内に常駐させないか、もしくは置いても他の事(例えば他社とのライセンス問題など)にリソースをさくよう仕向ける。



こうして邪悪テスト環境が出来上がってしまうと、

開発者たちは「私たちの作っているものは正しい」と思い出す。

から否定されると「俺悪くねーし!」と言い出す。

分化された仕事のことしか見なければ悪いことは何も無いだろうね。

しかし…もう…嵌っちゃったんだなぁというのが外野からの印象。

まぁせいぜい人身御供になってくれ。

今回の件、役職だけではなく実務の担当者まで引っ張られる可能性はある。

裁判にかけられるかどうかは謎だけど、企業業界への揺さぶりの手段としては有効だしね。



なお、最初に言ったが本当に邪悪な人はもう既にあの場所はいないはずだ。

もう既に後進に道を譲るだの自分の力を別の場所で試したいだのもっともらしい理由を付けて、

普通の人々」に継承させているはずだ。

普通の人々」のその後がどうなるかはこれから物語なので、とても楽しみではある。



おそらく、なのだが、この件、ワーストケースで転がれば、当該の企業だけではなく

IT業界のものが悪の巣窟としてみなされるだろう。

IT技術者マッドサイエンティストと同じで法の遵守する気がない連中だ!」と言われる日は意外とそう遠くないと思う。

そんな風がもし吹こうなら、政治家先生方や警察のお歴々も「インターネット健全性を保証する」という名目で、

色々と無茶な法律を作るかもしれませんね。

少なくとも、「インターネット=悪」として自分らの有利な方向にネットコントロールしたい方々にとってはとても好都合でしょうよ。



そろそろ、誰かが「良い意味で」健全化のために何かを仕込む頃合い。

政治家警察といったレイヤーではなく、業界の自主努力レイヤーで。

2、3年後、どんな団体ができでどんな人が所属するかなぁ?

ダンコーガイ津田はまちちゃんちきりん高木先生、漢のMySQLの人、徳丸本の人…多分この中から二人は自ら、あるいは担ぎだされる/巻き込まれる形で関わってくるかな。

切込隊長面白おかしレポートしつつ裏で謎の秋波を送るんだろうなぁ。

多分ひろゆきはその集まりを「つまらない」と見て何もしないかな?



ま、きっと「自分は忙しいから…」みたいなことで誰も参加せず、

結局第2次図書館戦争のもう一人の当事者あたりが中心に無理矢理たって健全化を叫ぶんでしょうね。

2012-02-17

ハッカーVimを使う」 騙される若者たち

Eclipseemacsvimより優れている点を挙げてみよう。

 

 

リファクタリング機能が強力

CVSリポジトリの構成を直接覗ける

デバッガグラフィカル

・設定できる警告メッセージの種類が豊富

復元機能が非常に充実している。

 CVSのように以前の状態に復元すること、以前の状態の

 ソースコードとの比較も容易。CVS(Eclipse標準装備)/Subversionプラグインにもこの機能存在する。

プラグインの数が豊富、膨大。

プラグイン開発環境Eclipse自体に用意されている。

ライセンス形態CPLであり商用利用もしやすい。

・上位版にWSADが存在する。

IBMバックアップがついている。

Smalltalkで有名なVisualworksの影響を受けているため、

JUnitプラグイン(Eclipse標準装備)によるテストファーストリファクタリングの他、eXtreme Programming環境が充実している。

SubclipseプラグインによりSubversionにも対応できる。これはCVSよりも強力!

・Call Hierarchyプラグイン(Eclipse3.0から標準装備)によりメソッドの呼び出し階層を調べることができる。この機能は強力だ!

プラグインによってはURLを指定するだけでプラグイン自動ダウンロード自動インストール

自動アップデートができるためプラグインインストールが非常に容易。

Eclipseから直接Tomcat, JBossなどを再起動できるSysdeoプラグインJBoss-IDEプラグイン

 という強力なプラグインが充実している。

EclipseUML Omondoプラグインによりクラス図などを書いたり、

 UMLによるModel Driven Architecture, リバースエンジニアリング

 などを即座に実現できる。

RSSリーダープラグインMP3プラグインAll The Newsプラグイン

など様々なプラグインが充実している。

PHP開発が可能なTruStudioプラグインPerl開発が可能なPerl E.P.I.C. プラグイン

C/C++開発が可能なCDTプラグインAspectJ開発が可能なAJDTプラグインなど

言語プラグインが充実している。

・そのほかにD言語プラグインC#プラグインPythonプラグイン、JavaScriptEditorプラグイン

CSSプラグイン, HTMLプラグイン, XMLプラグイン、(Jakarta)Velocity UIプラグイン

Apache Antプラグイン(Eclipse標準装備)、非常に強力なApache Mavenを使うことができるプラグイン

ゲームができるプラグイン、メーラとしてつかえるプラグインWikiプラグインHibernateプラグイン

FindBugsプラグインCheckStyleプラグイン、JalopyプラグインSobalipseプラグインソロプログラマープラグイン

など様々なプラグインが充実している。

 

 

以上、老害に騙されずにEclipseを使いましょう。

2011-03-29

典型的PHPerの13の悪癖

PHPerの問題点は、視野が狭いこと。典型的には以下のような悪癖を持つ。

何も知らないかPHPを愛せるんだよ、PHPerは。だからまず、HTMLCSSJavaScriptSQLを覚えろ。次に、Javaに移行しろ。そんなに難しくないよ、Java。特に大量にコードを書けるPHPerは、速度が出てライブラリ化が容易なJavaの方が向いている。今はVPSがあるので、小規模案件でも問題ない。

15年間ほどPHPインターネットを支えてきたが、そろそろ設計の脆さが問題になっている。PHP 6の開発が振り出しに戻ったのは、不幸な事故はない。ウェブ仕事をしていれば、PHPJavaで共通する知識も多い。PHPerはJavaを覚えてPHPさよならしろ。そして恥ずかしい悪癖を直すべきだ。

2008-08-15

http://anond.hatelabo.jp/20080815030927

やったことない商売はなれるまで時間かかるから、あてこんでのスタートはやめたほうがいいよ。

テストファーストじゃないけど、最初は金をかけないでなにごともはじめるのがおすすめ

金をかけないで何ができるかを考えよう。

ちゃんと情報を公開して、アイディア公募したら?

さすがに漠然としすぎててありきたりのことしか考えられないよ。

いま住んでいるところの土地はひと坪・・・

http://www.land.mlit.go.jp/landPrice/AriaServlet?MOD=0&TYP=2

約55万/平米、 坪=3平米だっけ?・・・。

ひとつぼあれば辺境の地で農業はじめられるな。。

2008-01-06

超訳 つくったものを悪意からまもる十の所作

http://blog.livedoor.jp/dankogai/archives/50979976.html

試訳 - コードをセキュアにする10の作法

セキュアとかいまだに和製単語がないの……? 根付かないわけだわ。

この10の作法みてても、まるっとただのwebコーディングの話しなのであまりピンとこなかった。

つーか、なんか、ほんとはてブってLLな人ばっかりだよね。

せっかくの内容なので、ちと裾野を広げて考えてみたよ。

1.なにをするのか決めましょう

どのような操作をうけつけるのか、どのようなデータをうけつけるのかまず最初に決めましょう。

そして受けとったものをもとになにをしたいのか明確になっているのはもっとも重要なことです。

お金を受け取って商品を返すのか?サービスを返すのか。

お金だって日本円なのかドルなのか。

お金のかわりに注文をうけるだけなんていうのもありますよね。

まず最初に決めておくのが重要なことです。

2.構造に問題があるのかあいての挙動に問題があるのか切り分けしましょう

1で決めたように挙動の想定なしには規定外のデータの受け渡しなどは追うことができません。

想定内以外はすべて想定外に落とすのが悪意から身を守りやすいです。

構造的エラーはtryで括るなり、error procでおとすなりし、

構造エラーが起きたときにどこでどのようなエラーが起きたのかは最低限いつでも追えるようにしましょう。

PHPとかでtryつかってるひといる?)

3匹の子豚の童話をおもいだしてください。

ドアには鍵をかけられるようにして、暖炉には火をともせるようする必要があります。

そしてなによりその前提は建物が頑丈であることです。

3.家を建てるまえに治安を調査しましょう。

その場所に狼が住んでいるのかいないのかは家の設計に大きな影響を与えます。

また狼がいるのがわかったら家を建てる必要があるのか吟味するのはとても重要なことです。

社内のLANで済ませれるシステムをわざわざon Webな設計で建てる必要はありませんよね。

4.窓の数や暖炉の数は吟味してください。

部品が増えれば大工さんの工数は増えますし、住んだあともお掃除が大変です。

家を建てるのにいくら掛かるのか?

そのサイズの家を建てたら家政婦さんにはいってもらわなければならないのか?

家政婦さんがいいのかメイドがいいのか?

庭師をいれなければならない大きさなのか?

警備員を雇わなければいけないのか?

自宅警備員はやくにたつのかたたないのか?

部品がふえるだけで指数関数的に費用が増します。

お財布と相談するのは非常に重要なことです。

本当は1Kで十分なんじゃないですか?

見栄はときに判断を見誤らせます。

もしあなたが建てるのを手伝う側だとしてもお客さんを諭すのは大切な仕事です。

5.最初にためしてみなよ。

家を建てるまえにその地域にすんでみるのも必要です。

甘い言葉に騙されていきなり30年のローンとか抱えないでください。

完成例ばかりに目を奪われると完璧なものばかりに目がいき真似したくなります。

もしあなたが商売を始めようとして、そこに経験がなかったらどうしますか?

路面店を構える前に自転車の後ろに商材つんで売ってみてからでも遅くはないのでは?

最初からすべてを用意しようとすると取り返しがつきません。

「だってみんなやってるよ!」

そういったときに親からなんていわれたか思い出しましょう。

規模に応ずることは非常に重要なことです。

システムキッチンをつかったこともないのに新しく建てようとする家に入れたいのはどうしてですか?

ほんとうに自分にあった家をたてたいのであれば、まずはあれこれ使ってみることが重要です。

まずは小さなモデルをつくってテストしてみてください。

6.火事には気をつけて

あなたのつくった木造の小屋がもし火事になった場合どのような被害を出すか考えておく必要があります。

どんなに頑丈な設計をしていたとしても、地震台風放火など”ありえない”なにかの災害はおきうることです。

そのときにあなたのつくったものはどうなりますか?

まわりの建物に火がまわってしまいませんか?

危険というものはすべてを排除しようとするのは困難です。

もしもの時にそなえる方法はいくつかあります。

火災保険にはいるだけではなく、消火器などを用意して被害を最低限に抑えるということも重要になります。

数千円の消火器で家の全焼が防げるならコストパフォーマンスは悪くないですよね。

Hedgeとassessmentは別々(並列)にもうけることができる性質のものです。

ヘッジばかりで満足していませんか?

あと、風の強い日に焚き火をしないとか、そういうわきまえも大切ですよね。

(risk deterって言葉ないね? こーゆーのなんていうん?)

7.なにかがおきてしまったら

割られてしまった窓ガラスはさらにわられないために早めに直しましょう。

できるだけ早く「対応した」と見せかけるだけで大きな効果があります。

次なる悪意から身を守る術はできるだけ早い対処です。

8.定期的に補修してください

検収さえのりきって瑕疵責任だけまぬがれるような糞システムねじこんだらいいやとおもってるから、いつまでたっても糞なんだよだぼがぁあ!!

・・・ゴホン。

失礼しました。

つくったものは古くなります。

建物の場合だってニスを塗り替えるだけで経年劣化は相当防げます。

そのために既成関数などをラップ関数差し替えて最初に書いておくのも実はメンテナンス効率をあげる手段だとおもいます。

言語仕様がかわったときとかも対応がらくちんだよ。

9.盗られたら大変なもんはおくな

財産を引き出しに入れておくとか、そういうことはしてはだめですよ。

個人情報だってそもそも集めなければ取られる必要がありません。

不必要なものを保持しておくのは初期費用も保守費用も莫大に押し上げます。

使用用途ができてからでも遅くはありません。

部屋を綺麗にしておきたいなら要らないものは買うな!!

(部屋汚くてごめんなさい……。)

10.人が書いたものをうのみにするな

成功例、失敗例、参考にするのは非常に有意義なことです。

ですが、その意味もわからず模倣することほど意味もなく危険なことはありません。

あなたがだれかの真似をして飛ぼうとするまえに、自分の足元を確認する必要があります。

あとで読むとか、必読とか、タグをうつのは自由です・・・。

でも自分と他人というものは違います。

相手がどんなものであれ、それをもとに自分を磨かなければ意味がありません。

また相手がどんな体験をしたのであれ自分を磨くことの役に立てることはできます。

人のせいにするのは簡単な事です。×××でよんだから、×××で見たから。

でも、そもそもこの記事だって猫が偶然キーボードの上で暴れて書いたものかもしれないのですからニャー。

参考文献

うるおぼえ脳内より

キーワード

日本円を受けるところでインドルピーうけてちゃレートもわからなければ偽札も区別できないよ!

リスクアセスメント(リスクアクセスメントだと思ってたのは内緒

テストファースト

ブロークンウインドウ理論

未病

やずややずや

いいえケフィアです

みんなってダレ?

ヨソはヨソ、ウチはウチ。

炎上

全焼

火の用心!

いいえ、あなたの心です

他山の石

増田ねこ

2007-11-03

http://anond.hatelabo.jp/20071103164725

やっぱりそうだったか。

という感想

他にないもんな。

でも、賢いよ。時報でテストファーストなんて。

2007-10-11

http://anond.hatelabo.jp/20071011024614

ニコニコの時報。

これができると何ができるかというと、運営が決められた時間にCMを流せるということ。

ニコニコの同報時報は実は難しい技術だと思う。

詳しくは追っていないのでわからないけど、

ストリーミング最中で片方を止めて割り込み

メディアサーバー普通に使っていたのじゃ処理できない。

ギャオみたいに前後割り込みというのはメディアサーバーの機能としてもっている。

だが、ぶったぎって割り込みとなると、プレイヤー側にも細工をしなきゃいけないし、

なにより複数ストリーミングサーバーでの振り分けは相応に厄介。

時報を裏でスプールしてるのかな?

もしかしたらプレイヤーの中にプレイヤーをいれてフリップしているだけかもしれないけど。

なんにせよ、ストリーミング最中ストリーミング割り込みは難しい。

みんなやれなかったぐらい難しい。

Youtubeだってできていない。

これができると何ができるか。

長い尺での動画を運営側が歓迎することになるだろう。

rimoみたいにノンストップチャンネルができるのも時間の問題だ。

なんにせよ、いきなりCMではなく技術的なテストファーストとして時報をもってきたのはセンスとして物凄い。

傑物だとおもうよ実際、まろゆき・・・。

2007-03-13

政治価値観の調整

http://anond.hatelabo.jp/20070313163701

政治経済実証実験ができないから難しい。

そんな意見を聞く。

ローカルケースや特区などでどんどん実証実験すればいいじゃないか。

理系ならプレ実験テストファーストをする。

アメリカではーなどと前例を証明はしない。

そもそも実験できたとしても目指す社会像自体が人によって違うんだから駄目だろ。今日の晩御飯はカレーにするかラーメンにするかでもめてるところに料理方法に詳しい奴が来たところで揉め事は収まらない。

合理性というのは目的がはっきりしてはじめて役に立つ。目的自体が対立してる時には合理性なんか判断しようがない。

国会理系党ができる日。

いまの議員、特に国会議員理系出身者はどれくらいいるのだろうか?

経営者には相応数居る。

大手には清濁併せ呑む政治力が要求されるからか理系は途端に少なくなる。

http://anond.hatelabo.jp/20070313151243

これは理系政治プロセスをしめしたもの。

エントリ理系政治を行った際の結果をしめしたもの。

政治経済実証実験ができないから難しい。

そんな意見を聞く。

ローカルケースや特区などでどんどん実証実験すればいいじゃないか。

理系ならプレ実験テストファーストをする。

アメリカではーなどと前例を証明はしない。

国会議員の出身学部別が気になったのでみてみたが

http://www.giin-net.com/list.php?giinkb=1

わかり肉!ミート!!

 
ログイン ユーザー登録
ようこそ ゲスト さん