はてなキーワード: BDDとは
283: 名無しさん@おーぷん 2016/10/26(水)11:36:44 ID:BdD
秋のよく晴れた日になると思い出す。
3歳の秋の日、母が朝からおにぎりを作ってくれて、「お出かけしよう」と言って電車に乗って遠くに行った。
行き先は山も海も見える田舎町だった。
真っ白い堤防のようなところで、母がベンチに座らせて、「ちょっとお母さん飲み物買ってくるから待っててね」と言った。
「わかった、ママありがとう。バイバイね」と言ったら、母は顔をそむけて走るように去って行った。
私はぼんやり座ってた。山はまだらに赤くて、空にはトンビが飛んでた。
しばらくして母は戻って来て、無言で一緒に弁当を食べて家に戻った。
成人して家を出て行くという日に、母はあの日の話をして、「あなたを捨てようとしてごめんなさい」と詫びた。
私は当時気付いてなかったふりをしたけど、勿論気付いてた。
それどころか、母があんまりに私の存在を疎んでるのを知ってて、大好きな母が楽になるならそれでいいと思ってた。
捨てられた私は次はどこに行くんだろうとボンヤリ考えてた。
私を捨てようとした母と、他人にむやみに金貸すのが趣味で散々妻子を苦しめた父。
私も順調なら年末に初めて親になる。
出来れば良い親になりたい。
ABA: 応用行動分析 [Applied Behavior Analysis]
AC: 従順な子どもの心 [Adapted Child](エゴグラム)
AC/ACoD/ACoDF: アダルトチルドレン [Adult Children of Dysfunctional Family]
ACT: アクセプタンス&コミットメント・セラピー [Acceptance and Commitment Therapy]
AD: アスペルガー障害 [Asperger disorder]
ADD: 注意欠如障害 [Attention Deficit Disorder]
ADHD: 注意欠如・多動性障害 [Attention Deficit / Hyperactivity Disorder]
AN: 神経性無食欲症 [Anorexia nervosa]
AS: アスペルガー症候群 [Asperger Syndrome]
APD: 回避性パーソナリティ障害 [Avoidant Personality Disorder] / 不安パーソナリティ障害 [Anxious Personality Disorder]
ASD: 自閉症スペクトラム障害 [Autistic Spectrum Disorder] / 急性ストレス障害 [Acute Stress Disorder]
ASPD: 反社会性パーソナリティ障害 [Antisocial Personality Disorder]
ASPS: 睡眠相前進症候群 [Advanced sleep phase syndrome]
AUD: アルコール使用障害 [Alcohol use disorder]
BD: 双極性障害 [Bipolar disorder]
BDD: 身体醜形障害 [Body dysmorphic disorder]
BN: 神経性過食症(過食症) [Bulimia nervosa]
BPD: 境界性パーソナリティ障害 [Borderline Personality Disorder]
BPRS: 簡易精神症状評価尺度 [Brief Psychiatric Rating Scale]
BT: 行動療法 [Behavioural Therapy]
CBT: 認知行動療法 [Cognitive Behavioral Therapy]
CCT: 来談者中心療法 [Client-Centered Therapy]
CDD: 小児期崩壊性障害 [Childhood Disintegrative Disorder]
CFIDS: 慢性疲労免疫不全症候群 [Chronic Fatigue and Immune Dysfunction Syndrome]
CFS: 慢性疲労症候群 [Chronic Fatigue Syndrome]
CP: 臨床心理士 [Clinical Psychologist] / 脳性麻痺 [Cerebral palsy] / 厳格な親の心 [Critical Parent](エゴグラム)
C-PTSD: 複雑性PTSD [Complex post-traumatic stress disorder]
CT: 認知療法 [Cognitive Therapy] / コンピュータ断層撮影 [Computed Tomography]
DA: 発達年齢 [Developmental Age]
DBT: 弁証法的行動療法 [Dialectical Behavior Therapy]
DCD: 発達性協調運動障害 [Developmental coordination disorder]
DESNOS: 特定不能の極度ストレス障害 [Disorder of Extreme Stress not otherwise specified]
DD: 解離性障害 [Dissociative Disorder] / 気分変調性障害 [Dysthymic Disorder] / 発達障害 [Developmental disability]
DDNOS: 特定不能の解離性障害 [Dissociative disorders not otherwise specified]
DD-NOS: 特定不能のうつ病性障害 [Depressive disorder not otherwise specified]
DID: 解離性同一性障害 [Dissociative Identity Disorder]
DIQ: 偏差知能指数 [Deviation IQ]
DMDD: 破壊的気分調節不全障害 [Disruptive Mood Dysregulation Disorder]
DPD: 依存性パーソナリティ障害 [Dependent Personality Disorder] / 抑うつ性パーソナリティ障害 [Depressive Personality Disorder]
DSM: 精神障害の診断と統計マニュアル [Diagnostic and Statistical Manual of Mental Disorders]
DSPS: 睡眠相後退症候群 [Delayed sleep phase syndrome]
DQ: 発達指数 [Developmental Quotient]
ECT: 電気痙攣療法 [Electroconvulsive therapy]
ED: 摂食障害 [Eating Disorder] / 勃起障害 [Erectile Dysfunction]
EEG: 脳波 [Electroencephalogram]
EFT: 感情焦点化療法 [Emotionally focused therapy]
EMDR: 眼球運動による脱感作と再処理法 [Eye Movement Desensitization and Reprocessing]
EPS: 錐体外路症状 [extrapyramidal symptom]
EUPD: 情緒不安定性人格障害 [Emotionally Unstable Personality Disorder]
FAS: 胎児性アルコール症候群 [Fetal alcohol syndrome]
FASD: 胎児性アルコール・スペクトラム障害 [Fetal Alcohol Spectrum Disorders]
FC: 自由な子どもの心 [Free Child](エゴグラム)
FD: 注意記憶 [Freedom from Distractibility](WISC)
FM: 線維筋痛症 [Fibromyalgia]
FMS: 線維筋痛症 [Fibromyalgia Syndrome]
FT: 家族療法 [Family therapy]
FXS: 脆弱X症候群 [fragile X syndrome]
GAD: 全般性不安障害 [Generalized Anxiety Disorder]
GH: 幻聴 [Gehörshalluzination]
GID: 性同一性障害 [Gender Identity Disorder]
GLA: 全般性不安障害 [Generalized Anxiety Disorder]
HFA/HA: 高機能自閉症 [High-Functioning Autism]
HFPDD: 高機能広汎性発達障害 [High Functioning Pervasive Developmental Disorder]
HPD: 演技性パーソナリティ障害 [Histrionic Personality Disorder]
IBS: 過敏性腸症候群 [Irritable Bowel Syndrome]
ICD: 疾病及び関連保健問題の国際統計分類 [International Statistical Classification of Diseases and Related Health Problems]
ID: 知的障害 [Intellectual Disability]
IP: 患者とみなされた人 [Identified Patient](家族療法での用語)
IQ: 知能指数 [Intelligence Quotient]
K-ABC: [Kaufman Assessment Battery for Children]
LD: 学習障害 [Learning Disabilities]
MAO: モノアミン酸化酵素 [monoamine oxidases]
MAOI: MAO阻害剤 [monoamine oxidase inhibitor]
MBCT: マインドフルネス認知療法 [Mindfulness-based cognitive therapy]
MBSR: マインドフルネス・ストレス低減法 [Mindfulness Based Stress Reduction]
MDD: 大うつ病性障害 [major depressive disorder]
MDI: 躁うつ病 [Manic Depressive Illness]
MR: 精神発達遅滞 [mental retardation]
MRI: 核磁気共鳴画像法 [magnetic resonance imaging]
MSLT: 反復睡眠潜時検査 [multiple sleep latency test]
MTBI: 軽度外傷性脳損傷 [mild Traumatic Brain Injury]
NaSSA: ノルアドレナリン作動性・特異的セロトニン作動性抗うつ薬 [Noradrenergic and specific serotonergic antidepressant]
NDRI: ノルアドレナリン・ドパミン再取り込み阻害薬 [Norepinephrine-Dopamine Reuptake Inhibitors]
NLP: 神経言語プログラミング [Neuro-Linguistic Programming]
NP: 保護的な親の心 [Nurturing Parent](エゴグラム)
NPD: 自己愛性パーソナリティ障害 [Narcissistic Personality Disorder]
NT: 物語療法/ナラティブ・セラピー [Narrative therapy]
OCD: 強迫性障害 [Obsessive Compulsive Disorder]
OCPD: 強迫性パーソナリティ障害 [Obsessive-Compulsive personality Disorder]
OT: 作業療法 [Occupational therapy] / 光トポグラフィ [optical topography]
PANSS: 陽性・陰性症状評価尺度 [Positive and Negative Symptom Scale]
PCA: 人間中心療法/パーソンセンタードアプローチ [Person-Centered Approach:PCA]
PD: パニック障害 [Panic disorder] / パーソナリティ障害 [Personality disorder]
PDD: 広汎性発達障害 [Pervasive Developmental Disorder]
PDD-NOS: 特定不能の広汎性発達障害 [Pervasive Developmental Disorder - Not Otherwise Specified]
PDNOS: 特定不能のパーソナリティ障害 [Personality Disorder Not Otherwise Specified]
PE: 持続エクスポージャー法 [Prolonged Exposure]
PET: ポジトロン断層法 [positron emission tomography]
PIQ: 動作性IQ [performance IQ]
PMDD: 月経前不快気分障害 [Premenstrual Dysphoric Disorder]
PMS: 月経前症候群 [Premenstrual Syndrome]
PMT: 月経前緊張症 [Premenstrual Tension]
PO: 知覚統合 [perceptual organization](WAIS / WISC)
PPD: 妄想性パーソナリティ障害 [Paranoid Personality Disorder]
PS: 処理速度 [processing speed](WAIS / WISC)
PSD: 心身症 [Psychosomatic disease]
PTG: 外傷後成長 [Post Traumatic Growth]
PTSD: 心的外傷後ストレス障害 [Post-traumatic Stress Disorder]
REBT: 理性感情行動療法 [Rational emotive behavior therapy]
RLS: むずむず脚症候群 [restless legs syndrome]
RT: 現実療法 [Reality therapy] / 論理療法 [Rational therapy]
SA: システムズ・アプローチ [Systems Aproach]
SAD: 社会不安障害 [Social Anxiety Disorder] / 季節性情動障害 [Seasonal Affective Disorder]
SARI: トリアゾロピリジン系抗うつ薬 [Serotonin antagonist and reuptake inhibitor]
SAS: 睡眠時無呼吸症候群 [Sleep apnea syndrome]
SD: 身体表現性障害 [Somatoform Disorder]
SDA: セロトニン・ドパミン拮抗薬 [Serotonin-Dopamine Antagonist]
SLD: 限局性学習症/限局性学習障害 [Specific learning disorder]
SLTA: 標準失語症検査 [Standard Language Test of Aphasia]
SMIT: 自己洞察瞑想療法 [Self Insight Meditation Technology/Therapy]
SNRI: セロトニン・ノルアドレナリン再取り込み阻害薬 [Serotonin and Norepinephrine Reuptake Inhibitors]
SPECT: 単一光子放射断層撮影 [Single photon emission computed tomography]
SPD: スキゾイドパーソナリティ障害 [Schizoid Personality Disorder] / サディスティックパーソナリティ障害 [Sadistic Personality Disorder]
SRS: 性別適合手術 [Sex Reassignment Surgery]
SSRE: 選択的セロトニン再取り込み促進薬 [Selective serotonin reuptake enhancer]
SSRI: 選択的セロトニン再取り込阻害薬 [Selective serotonin reuptake inhibitors]
SST: ソーシャルスキルトレーニング/社会生活技能訓練 [Social Skills Training]
TA: 交流分析 [Transactional Analysis]
TBI: 外傷性脳損傷 [Traumatic brain injury]
TCA: 三環系抗うつ薬 [Tricyclic Antidepressants]
TS: トゥレット症候群 [Tourette Syndrome]
VC: 言語理解 [verbal comprehension](WAIS / WISC)
WAIS: ウェクスラー成人知能検査 [Wechsler Adult Intelligence Scale]
WISC: WISC知能検査 [Wechsler Intelligence Scale for Children]
WPPSI: WPPSI知能診断検査 [Wechsler Preschool and Primary Scale of Intelligence]
WM: 作動記憶 [working memory](WAIS)
Qiitaに書こうかと思ったけど、言いたいことも言えない、こんな世の中じゃ。
モバイルファースト、APIファーストな文脈でハイブリッドWebをやってきた目からすると、サーバーサイドでHTMLを生成してページ遷移させるなどという90年代調のクラシカルな発想を基本に据えるフレームワークはとても斬新に思えました。HTMLをゴリゴリ生成するなんてよほど特殊な最適化をしようとするのでなければそもそも発想として出てこないです。それでいてDSLやメタプログラミング等のテクニカルな技法が宝石のように鏤められている様はまるでエジプト時代の骨董品を見るかのような趣がありました。turbolinkなどは、かつて表計算ソフトに出しゃばっていたイルカを思い起こさせる味があります。かつて慣れ親しんできたSPAが星のように遠い存在になりました。
Web界隈の人々がモデルだとかアクティブレコードだとか"MVC"だとかを非常に具象的に話す様を見るにつけ、お前らどんだけPofEAA読み込んでるんだよと畏怖していた時期が僕にもありましたが、どうやら彼等はRailsのクラスやディレクトリという特定の実装について話していただけだったようです。Modelという概念もこれだけ肥大化してしまったら、オリジナルな概念で彼等と会話するのは諦めるべきかなと思いましたし、Railsの"MVC"をアンクォートして語るのはもはや害悪であるとすら感じました。
Rails界隈の人がよく「Railsの流儀」や「正しい"MVC"」というのを口角泡を飛ばして議論しているのを目にするのですが、おそらく外に広がる不条理で火傷を負って快適なRailsの世界に引き篭もった結果としての一種のストックホルム症候群なのだなと思いました。いまやAjaxとかWebsocketとかWebRTCとかを組み込もうとする至極真っ当な方法論がとてつもない高難度に見えてきます。設定よりも規約、というのも一つの方向性だと思いますが、ドメインやサービスレイヤの名前空間を構築しようとしたりコードジェネレーションしようとしたりしただけで地獄のようなCircular Dependency罰を受けてしまったので、自分がとても間違った事をしているような気がしてしまいました。とはいえConcernsに特別な名前や役割を与えられても正直しんどいので、皆が皆libにゴミを放り込んでいく様子にも納得がいきました。
RailsをAPIサーバーとして使おうとするとまずビューが無くなってMとCだけになりますが、いわゆる"MVC"の文脈で育ったエンジニアがなぜ息を吸うようにFat ControllerやFat Modelを作ってしまうのかという事が良く分かりました。多くのRailsのリファクタ手法と称されているものはクラスを書くファイルを分割する事以上のものでは無いように思えたので、Rails使いを大きめなAPIサーバー案件に回すときはセットポジションでDDDの青本を投げつける必要が有るなと思いました。
ビューとコントローラを結合させた場合、結合テストはCapybaraとかのBDDでマークアップサイドとの干渉を恐れながら強い気持ちでメンテしていくしか無いのかなと思いました。おそらく脳に電極を埋め込んでいるか、緑色のランプを見るだけでハイになれる特殊な人にしか生き抜けない闇が垣間見えました。コントローラを薄くしてサービスレイヤを挟めばその辺りもうまくいけそうな気がしましたが、ビューからヘルパーやモデルがいくらでも透けて見えてしまうという状況では裏側の完全性に自信を持つ事は難しそうでした。
ビューがRubyを叩いて永続化レイヤと直接コミュニケーション出来るというのはとても生産性が高いのだろうとは思いましたが、こうして出来たパーシャルやら何やらをデザイナーとどうやって共有するかを考えると頭痛が痛くなりました。おそらく適当に切り出して綺麗な空間をassets以下に構築した上でpublicにRPCのような窓口を備えたゴミを量産していくのかなと思いましたが、もっと綺麗な方法はあるのかもしれません。でもきっとRails案件に関われるデザイナーはRubyもバリバリ書けるに違いないはずなので、ここが問題になる事は無いのだろうなと思いました。
RESTはとても美しいパラダイムではありますが、そもそもHTTPがさほど美しくないので歪んだ空間には目を背けるか勝手解釈を与える事で人は初めてRESTfulを名乗る事が出来るのだと思います。GETがbodyを(公式には)持たないという事について美しい説明を与える事は出来ないでしょう。サーチAPIはどうしますか。ステータスコード足りなくないですか。401エラーはどうしますか。そしてRESTはあくまでリソースを抽象化する美しい概念なので、アクションや副作用については貧弱です。動詞が足りないですし、一般動詞に狭義の意味を与えてドキュメントするのは二度手間にしか見えません。PUTには冪等性があるべきみたいなこだわりは家の猫にでも説教してればいいと思います。というわけで、REST的な設計を拝借することはよしとしても、「○○はRESTでは無い故云々~」みたいな注文はやめて頂きたいものです。
とか言わないで欲しいです。こういう時にセットでPHPをディスって悦に浸るのは知る限りRubiestとPythonistaと中学生だけです。それにこれはあくまでサーバーサイド初心者の感想なので、想像するにこれ系のFWは多かれ少なかれ似たような不満を抱えるものなのかなと思います。というわけで、おそらくこれから選択肢がある限りはRailsを使い続けると思います。
多少書けるけど絶対に「プログラマです」とは名乗れないゼネラリストたちで構成されている会社。
そんな会社だと、プログラムでなるべく解決する(コードが業務プロセスを頑張っちゃう)ために頑張るよりも、
業務プロセス・開発プロセス全体で最適化するよう頑張った方が、
プログラムで頑張ろうとすると、
外注するのに設計しようにも結局学習コストがかかりすぎるとか、
外注が逃げるとか、
引き継ぎ先がいなくて死ぬとか、
そんな余計なことが多かった。
反復性・正確性が求められるものはプログラム化に適しているけれど、プログラムは解決の一手段だし、一分野にしか過ぎない。
ともすればプログラムのスペシャリストでないことに大きなコンプレックスを抱くけど、
生産物が割合ライトで公共性も低い(例えばエンタメ系スマホアプリ)だったら、
身の程わきまえて、他の業務パラメータも見て総合的に結果を最大化しようというシンプルな結論に至る。
オブジェクト指向の本を読むのも結構だけど、もっと大きな見地から比較して
ライトなフレームワークを選択して、ライトな開発プロセスでやる選択がもっと歓迎されていいと思う。
そして、アジャイルとかTDD/BDDとかももちろんいいんだけど、開発現場からのボトムアップ的な思想やツールでなく、
マネジメント視点や経営視点から自分たちがライト層として開発するなら、という発想がもっとあっていいと思う。
元プログラマが経営層になっての話は近年よく聞くけど、非プログラマが経営層でかつ開発もある程度やるよ、というスタイルもそれなりにあるのに。
こういう情報が出回りにくい理由は、そもそも人数が少ないか、文章に書く魅力/余裕がないか、文章化が難しいか、まだ分野的にこなれていないか、のどれか。
暇ができたらまとめたいなあ。。
その前に売上UP(白目)