Web サイトのつくり方がわからない今日この頃 [翻訳記事]
Tags: programming, webdev, career, technology
Published: 2018-09-10 23:47:53

---
title: Web サイトのつくり方がわからない今日この頃 [翻訳記事]
published: true
description: 執筆者が感じている昨今の Web 開発の状況と、それに関する問題提起の文章です。
tags: programming, web development, career, technology
cover_image: https://res.cloudinary.com/practicaldev/image/fetch/s--noxkywjc--/c_imagga_scale,f_auto,fl_progressive,h_420,q_auto,w_1000/https://mortoray.files.wordpress.com/2018/07/workshop-3430210_1920.jpg
---

本記事は、以下の記事の翻訳です:
[I don't know how to create a website](https://dev.to/mortoray/i-dont-know-how-to-create-a-website-4k9i) by [edA-qa mort-ora-y](https://dev.to/mortoray)
<small>* 執筆者に許諾を頂いた上で掲載しています。</small>

---

Web はその黎明期から私のキャリアの一部でした。
いくつものサイトをつくりました。その中にはアプリやゲームも含んでいます。それどころか Web の開発ツールさえつくったことがあります。しかしながら今は Web サイトをつくる方法がもはやわからなくなったと認めなくてはなりません。
腰を落ち着けてさあ新しいサイトをつくろうとしても、ツールや技術に対して以前よりもどぎまぎしてしまうのです。
その場から姿を消してプログラミングのレッスンを受けに行きたくなります。


## 複雑さ

Web サイトをつくることは複雑で複合的な仕事になりました。
何ページかをアップロードしてそれだけで済ませることはできません。
確かに、このようなことであれば、むしろ簡単にできていました。
しかし私の手元には既にブログがあります。
それゆえ、動的な要素、おそらくはある種のアプリケーションの機能が欲しくなるでしょう。
このことは無限の選択肢を生み出します。
フレームワークからテンプレートまで、あるいはホスト機まで。

以前にやったことがあることですので、知っているものの中から選べば良いのかもしれません。
しかし、ここに物事をやっかいにしている点があります。
Web は移り変わりの激しい世界です。
昨日はすばらしいとされたものが、明日にはすばらしいものでは無くなっています。
私の知っている技術は、もはや私が実現したいことを行うのに適したものでは無くなっているかもしれません。
そうで無くても、うまく動作させるためには、サーカスで曲芸ジャンプを決めるようなことが必要になっているかもしれません。

おそらく、そのフレームワークあるいはその言語自体が、時代遅れになってしまっています。
私個人が管理する小規模のサイトに過ぎないのであれば、大したことではありません。
しかし、もし会社のことであれば、時代遅れの技術は、意欲に富んだプログラマの集団を何ら惹きつけるものでは無いでしょう。

単に人気が無いということ以上に悪いことがあります。
多くのフレームワークは開発が停滞し置き去りにされています。
開発者がただ別の開発に移ってしまっただけかもしれません。お金が無いからということでしたら、そのような人たちを責めることはできません。
そうでは無く、コードがあまりにも複雑になったためかもしれません。終わり無き欠陥の群れを追い掛けながら、コーディングをメンテナンス目的でしか行なっていない状況なのかもしれません。


## セキュリティ

サイトをセキュアな状態で維持することは、不可能な仕事のように思われます。
私が Twitter でフィードする内容は、不正な状態に陥った Web サイトの恐怖で満ちあふれています。
ハッキングとデータ漏洩が至るところで起こっています！

セキュリティは、もちろん、Web サイトのべし・べからず集における単なる一項目ではありません。
優先順位とリスク評価の中での進行形の闘いに関わるものです。
サイトの防御レベルはサイトとともに成長して行くものですが、何の対応も入れていない状態から始める選択肢はありません。最低限満たしておくべきたくさんの事項があります。きっとリスト化することもできるでしょう。しかし、それで対応として完璧なのかどうかというと、それを知ることはできはしないでしょう。

> このことを発見するたびにいつもがっかりして来たのですが、上記の最低限満たしておくべき事項の多くは、私が選んだフレームワークでは解決されていませんでした。
> 私が過去にあらゆることを試みてもセキュリティのいくつかの本質的な問題点を解決できなかったのは、私の不運が原因でしょうか？
> 何となくではありますが、そうでは無いだろうと思っています。
> Web セキュリティの問題の多くについて、その原因がセキュアで無いフレームワークにあると私は考えています。


## 学習

Web サイトのつくり方が今はわからない、というのが私の主張です。
しかしきっとふたたびつくれるようにはなるでしょう。
その時に最良のアプローチができるかどうかはわかりません。
もっとも最良のアプローチなどは存在しないと確信しています。あるのは、おそらくというレベルで許容できるものの集まりでしょう。

私のキャリアのここに至るまでは、私は良い学習方法を身につけて、新しい技術を使って来たのだろうと思われるかもしれません。おそらくそれはその通りです。
つまり、板と釘を山と積んでハンマーでたたいていれば、この音は家を建てているのだなと思われるでしょう。きっとそんな感じなのでは無いかと考えています。
私のアプローチはたいてい手当たり次第にトライ & エラーすることです。
大半のドキュメントは、やりたいことを実現する上で、直接読み解いて進められるほどの品質を備えていないものです。
渦中に飛び込み、コーディングを行い、不具合を修正して行くことが、「機能する」ものを恒常的につくれる唯一のアプローチのように思われるのです。

私の試みは、一般的なアプローチとはかなり異なっているかもしれません。
私は、ツールが動いて欲しいように動かない場合は、それらと取っ組み合いをします。
むやみに「新しい方式」を取り入れて欲しく無いとツールに望む時もあります。
私の主義に共感できなくてもしかたないかしれません。
しかし、とは言うものの、私たちが取り組んでいるのは Web 技術です――私は、怒りっぽくて大変な Web の神さまをなだめるために、トーテムの像をつくって来たのです。

> 一般的でありながら一切ドキュメント化されていないものがある場合、そこからほんの少しでも外れたアプローチをすることは、助けを得難いものにします。
> StackOverflow のような場所はますます役に立たなくなります:
> 「いったいどうしてこんなことをしたんだ？」「うわっ、完全にまちがっているよ。でも理由は教えてあげないよ」
> という回答を得る代わりに、次のような回答を得るようになるのです。
> 「きちんと動くミニマルなサンプルをつくれるかい。それをどこかにデプロイするんだ。イシューシステムを立ち上げて。コードレビューを受け入れて。僕の犬に餌をあげて。それができたら助けてあげるよ」


## 大変な仕事

Web サイトの作成は比較的大きいマーケットで、仕事が豊富にあります。
新しくこの領域に参入する人たちをうらやむ気持ちはありません。
新しい Web サイトをつくるために何をすれば良いのかがわからないと私は真剣に主張していますが、概念的には何をする必要があるのかをおそらくわかってはいます。
仕事内容や、あるいはどの種のツールが使えるのかがわからない状態で、席に着くことは楽しく無いものに違いありません。
なぜこの状況でも人々がプログラミングに惹きつけられるのかが私にはわかりません――素材のもとをレストランの残飯を求めて街中を捜し回ることでしか得られ無いシェフになろうとしていると想像してみてください。

悲しいことに、あまりにも多くの Web サイトでこの状態が顕現していると私は考えています。
重大な欠陥が無いサイトを訪れることはめったにありません。
いつでも何かがきちんと動いていないのです。
そしてそれはかなりの頻度でサイト機能のクリティカルな部分です。

率直に言って、私たちは Web 開発において良い仕事ができているとは言えないのが現状です。

——

お読み頂きどうもありがとうございました。

本記事は、以下の記事の翻訳です:
[I don't know how to create a website](https://dev.to/mortoray/i-dont-know-how-to-create-a-website-4k9i) by [edA-qa mort-ora-y](https://dev.to/mortoray)

To Edaqa: Thank you so much for your kind permission for me to translate your post.