「エラーメッセージ」を含む日記 RSS

はてなキーワード: エラーメッセージとは

2013-05-13

素人がそこそこのWebサービスをつくる方法

先日「飲み会版ソーシャルランチをつくってみた」を書いた者です。

上の記事では、僕がつくった「飲活」というサービスの説明が大半で、どうやってつくったのかとか説明が少なかったので、今回はそれについて書いてみようかと思います

まずは僕についてさらっと。

失敗

僕は「「飲活」」を作るまでも、iPhoneアプリを開発したり、webサービスメンテナンスをしたりとプログラミングをしておりました。

なので、プログラミング初心者というわけではありません。

しかし僕も何度かwebサービスの立ち上げを挫折しております。4回くらいかな。

最初xoopsを使って、ツイッターで登録企業広告をつぶやいたらポイントをもらえるサービスでした。

なんとxampp門前払いされました。ローカル環境すらつくれませんでした。「くそ初心者時間無駄にするだけだから辞めろ」と言われた気分でした。

xamppだけに2日くらい朝まで格闘してしまい本当に時間無駄しました。当時はapacheの設定とかなんぞや状態ですからね。

次にやろうとしたのが、大学受験生向けのサイトで、受験生に教科ごとの講義をするのではなく、勉強のやり方を教えるよ!ってサイトです。

ほとんどhtmlでできそうなのですが、phpメールを送ることができず挫折しました。

レンタルサーバーを借りたのですが、レンタルサーバーphpの設定をしないといけないのを知らなかったり、やっと解決しても日本語化けに悩まされて止めた覚えがあります。これほど母国語英語だったらどんなに楽かと思った時はありませんよ。プログラミングしてると今でもたまに思います

次が、キックスターターのようでそうでないクラウドファンディングサービスをつくろうとしました。

ここでjavascript出会いました。いや、ちゃんと交際を始めたと言うべきか・・・。それまでjavascriptとすれ違っても虫を決め込んでいたのですが、いざ必要になって呼び止めてみると意外と良い奴でした。

しかし、ajaxにつまづいたり、サイト構成やディレクトリ構成、データベース構成や、デザインの調整などで複雑で面倒になり挫折してしまいました。

こうして書くと、僕がすごい諦めの早いやつで勉強もまともにしないやつみたいに思えますが、半分正解。諦めは悪いけど「ググればいける」という考えで勉強を怠っておりました。

つくりかた

「「飲活」」をつくった実際の流れを書きたいと思います

だいたいプログラミング言語はどれも根本は似ているので、先述の3つ以外のプログラミング言語をやりたいと思ってる人でも参考になると思います

また、以下の内容は、わけわからんけどwebサービスをつくりはじめる方を前提にしています

まずはじめに:開発環境を整える

まずは開発環境を整えましょう。

開発環境とは、自分の書いたプログラムローカル自分パソコン)でのみ動作させる環境です。

まり自分がつくっているものを外部に見られることはありません。

ローカル開発環境必要なモノは以下です。

です。

まずはこれらをインストールしてください。設定などの説明は割愛します。

ステップ1:プログラミングでいったいどんなことができるのかを知る

僕はphpを使いました。

僕もそうでしたが、素人は当然プログラミングの全体像を想像できません。やりたいことを思いついても、どういうコードを書いたらいいかなんてすぐに想像できませんよね。

これも当然ですがその原因は、そもそもプログラムでなにができるか知らないからです。

なので、POSTやSESSION、配列などの基本的なもの存在を知りましょう。そしたら、「このページにはこの機能必要だろう」というのが、"なんとなく"わかります。書き方はこの時点で別に覚えなくて大丈夫です。

例えば、オブジェクトを格納することが出来る「配列」という存在を覚えます

この時点では、配列の作り方のコードとかは覚えなくていいですよ。「配列という存在を知る」ことが重要です。

基本的なことを学ぶときネットではなく本を使う事を薦めます

本は情報が体系的にまとめられていまうので、ネットよりも学びやすいです。

プログラミング10年以上基本部分は変わっていませんので、「古いものを覚えちゃわない?」という無駄心配はなくて大丈夫

一方、発展的なことではネットで学びましょう、というかわからないことがあればネットで探しましょう。

ステップ2:つくりたいwebサービス必要機能を決める

どんなことを実現したいのかというゴールがないと必ず途方にくれます

なので、まずはゴールを設定します。

例えば「「飲活」」なら、

などなど...。

その後に、各ページ毎に必要機能と大まかなそのページのやることを決めます

例えば、ログインページなら・・・

必要機能

ログインページには、ユーザー入力するフォームと送信ボタンがあって、なにも入力されずに送信ボタンが押されたらエラーメッセージを出そう。エラーがなくログイン成功したら、会員専用のエロビデオを見せよう。

とか。

次に、各ページでどんな情報を表示させるかを決めます

例えば、しっかり考えず適当に、登録ユーザープロフィール画面を開発していて、ユーザー名、生年月日、出身大学を表示させるプログラムをつくったとします。

しかし、プロフィール画面が完成した後にメールアドレスも表示させないといけないことに気がついた場合、少しプログラムの変更が必要になります

最初から、どのデータ必要なのかを決めていれば、こうした効率の悪さは回避できます

実際は奇麗に開発できることは少ないですが、何も考えずに開発するよりは効率的です。

大まかな機能ログイン)→具体的な機能ログインページの機能)→具体的にログインページがやること→必要とするデータ

という流れでサイト機能を決めることで、自分のやることが明確になりますし、勉強すべき内容も最小限に抑えられます

ここで、どういうデザインにするのかを決めればもっと後で楽になります

ステップ3: データベースを用意

webサービスには必ず必須となるデータベースについて知る必要があります

僕は、mysqlを使いました。

サーバーさくらインターネットレンタルサーバーを使ったので、さくらインターネットデータベースを利用しました。

ステップ4:必要機能を実現するための方法を見つける

各ページで必要機能とやることを決めたら、それを実現してくれる方法を本やネットで探します。

先述のとおり、必要機能を決めていればそれを実現してくれるもののみを探せばいいので効率的になります

見つけたら、あとはそれを使ってやりたいことをやるだけです。

具体的にはサンプルコードAPIフレームワークライブラリ)を探すべきだと思います

プログラミングに慣れるまではフレームワークを使うと上手く組み込めず、それが挫折の原因にもなりそうなので、主にサンプルコードを探せばいいと思います

なぜなら、楽だからです。その一言に尽きますよ!

プログラミングってなんのためにあるかというと、人々の生活を楽にするためです。

人々を楽にするプログラミングで、わざわざ辛いやり方をするのは最悪です。

なので、どうぞ堂々と怠けてください。他人のつくったコードを使ってください。APIフレームワークを使ってください。

プログラムを書いたらデバッグしたり、ブラウザ(htpp://localhost)で見てやりたいことができているか確認してください。

「「飲活」」の場合は、基本機能


利用したAPIフレームワークは以下。


特にこのサービスには特別なことや難しいことはやっておらず、正直phpの基本がある程度わかっていれば、このサービスの基本的部分は作れてしまます

ステップ5:大まかなプログラムができたら・・・

デザインをつくりましょう。

僕は一から自分デザインを考えたわけではなく、他の素敵なサイトを参考にさせていただきました。

また、サイトの見た目をつくるにはhtmlcss、時にはjavascriptを使う必要があります

オススメなのはtwitter社の提供するTwitter Bootstrapです。

http://twitter.github.io/bootstrap/index.html

これを利用すれば、簡単にかっこいいデザインを作れます

ちなみに、「飲活」は、htmlcssjavascriptjQuery)を使っています

ステップ6:ドメインを取得、サーバーを用意

つくったサイトをみんなに見てもらうためには、外部とネットワークのあるコンピュータアップロードしなければなりませんし、ドメインもなければいけません。

コンピュータにはIPアドレスがあり、ネットワーク上の住所となっています。これにアクセスすると、「飲活」の住所とか「はてな」の住所とかあったりするわけです。これは数字でできており、これを人間が読みやすものにしようというのがドメインです。

hatena.jpとかnomikatsu.comとかですね。これを取得しましょう!

僕はお名前ドットコムで取得しました。

それからサーバーレンタルしましょう。

外部とネットワークのあるコンピュータですね。

自分で作ったり、VPSを使ったりすることもできますが、自分管理をしなくていいという点で楽なので僕はレンタルしています

僕は、さくらインターネットレンタルしています

僕のようにドメイン管理会社サーバー会社が別だといろいろと設定をしなければなりません。

DNSドメインネームサーバ)というのがあり、「このドメインのあるサーバーはこれ、IPアドレスはこれ」と教えてくれるものです。

名前ドットコムで取得したnomikatsu.comは、さくらインターネットサーバにあるよと設定する必要があります

実際には、さくらインターネットネームサーバ情報を知り、お名前ドットコムでnomikatsu.comはこのネームサーバだよと設定してあげるのです。

これで、数分から時間でnomikatsu.comにネットからアクセスすることが出来ました。

ステップ7:サイト公開

あとはサーバーファイルアップロードすれば、インターネット自分のつくったサイトを見れます

ファイルアップロードの仕方ですが、FTPクライアントを使います

僕は、filezillaを使いました。

filezillaからホスト名やユーザー名などを設定してサーバー接続します。

接続できたら、指定のディレクトリファイルアップロードすればOKです!

最後

とにかく作り始めましょう。

僕は、本が書いてあるサンプルコードをそのまま勉強としてやるのはオススメしません。

だって、つまらないですもん。あれは、プログラムを書いていて基本がわからなくなったときに見返せばいいんです。

最初はまず作りたいものを決めて、PHPで何が出来るのかをざっくり勉強して、それを実現するのに必要コードややり方を見つけて、実際に動くものをつくっていってください。

やりたいことをやらなきゃ飽きますし、本のサンプルコードよりも実際にwebサイトをつくった方が覚えます

プログラミングって難しいものではないですよ。

やったことがない人が勝手に難しいと思い込んでいるだけで、意外とやってみれば難しくありません。

簡単とまでは言えませんが、正直誰でもできます

僕の場合は何度かプログラミング挫折しましたが、こうして一つのものをつくることができるようになりましたし、iPhoneアプリなども会社では開発しています

こんなやつでもできるので、諦めなければできます

そんで、とても楽しいです。

本当につくりたいものがあるのなら、一度やってみる価値はありますよ。

追記:

明記してありますが、僕は初心者ではありません。初心者の方が勉強がてらサービスを作る一つのやり方というか流れを紹介したいと思って記事を書きました。

誤解させてしまタイトルすみません

僕自身、なにもわからプログラミングをはじめたときは、どう勉強したらいいかからず辛い思いをしました。

素人がわけわからプログラミングを始めると挫折やすいと思いまして、僕が素人の時を振り返り、そして勉強してきた経験を使って、素人の方にサービスをつくっていく流れを書いたら素人の方も挫折しにくいかと思いました。

なので、僕は初心者ではありませんが経験者として素人サービスをつくっていく方法を書きました。

また、飲活をつくった実際の流れと書きましたが、飲活をつくった流れを利用して、初心者サービスをつくる流れを説明したかったんです。

説明不足でさらに誤解させてしますみません

2013-03-25

[]3行で書くエラーメッセージ

エラーメッセージに書くこと

入力エラー時のメッセージ

(正しくはユーザーへの情報 "i"アイコンの。「正常系エラー」?想定されているのならエラーではない)

「…が長すぎ''ます''」

「…は登録されません''でした''」

「…をあと3文字短くすれば解決できます(できる''でしょう'')」(「140文字以内にすれば」よりもいい)

過去現在未来は原因、結果、解決策とも言える。

RIGHT:[[:t/Ui]]

----

CC0

2013-03-22

プログラミング出来ない奴ちょっと来い

プログラミング出来る方法教える。

世の中「プログラミング言語」を説く本はごまんとあれど「プログラミング」を説く本やブログはあまりない。

いや実際に "ない" というのはかなり語弊があるかもしれない。

しかし、通常この種の説明している本に辿り着くまでには多くの時間必要だ。

普通の人は、多くの間違った方法を試し、その都度試行錯誤を重ね、プログラミング経験を経ることよって、重要概念を獲得するのだと思う。

例えば、「計算機プログラム構造解釈」や「実用 Common Lisp」、「コンピュータプログラミング概念技法モデル」などの書籍現実の問題に対し "プログラム" をどう書くかという問題に正面から取り組んでいる良書だ。

しかし、どれだけ”普通の”プログラマが上記のような書籍を読んでいるのだろうか。

そして、"普通プログラマ" がプログラミングを学ぶ書籍として、それらは果たして適切と言えるだろうか。

僕はそうは思わない。

というのも、多くの人は計算機科学を学び、効率のよいアルゴリズムデータ構造、美しい階層化・モジュール化されたプログラム、などを作るためにプログラミングするのではない。目の前の問題を解決するためにプログラミングを行うからだ。

それは自分の作りたいアプリだったり、

クライアントから発注されたプロジェクトだったり、

上司から頼まれた仕事だったり、

業務を効率化させるための Excel マクロだったり、

授業で出された宿題だったり、人それぞれだろう。

このような目の前の問題を解決したい人達が、わざわざ LispMozart など何の役に立つのか分からない言語を、根気よく勉強するのだろうか。(ちなみに、LispMozart は上記の書籍で実際に使われている言語である。)

目的現在の問題を解決することであって、

新しいプログラミング言語を学ぶことや、プログラミングの種々の概念を獲得することではない。

もちろんプログラミング言語を上達するためには一つでも多くの概念を会得する必要があるので、あるレベル以上を目指すのであればこれらの書籍を読むことや、抽象化を実現するための様々なツールを手にすることは必須だと思う。

純粋プログラミングを楽しんでいる人やハッカーを目指したい人はこのような文章を読むのではなく、ぜひ上記に挙げた本を実際に購入し、自分の手で動かして確かめてみることを勧める。プログラミングに対する考え方や姿勢が変わるのは間違いないと思う。

今回はそのような”純粋プログラミングを楽しんでいる人”に向けた文章でない。

現実の問題をプログラミングを用いて取り組んでいる人に向けて書いた文章だ。


そのような人の中で、なかなかプログラミングが上達しないという人に向けた文章である

もしプログラミング学習限界を感じているのであれば、プログラミング学習方法が間違っている可能性が高い。

そして残念なことに、初学者向けの書籍では、"プログラミング言語の文法" を説く本はあれど、"プログラミング学習方法や上達するための正しいスタンス" を説く本はほとんどない。


できるだけ多くの人にプログラムをする楽しみを知ってもらうためにも

より多くの人がより生産的にプログラムが出来るようになるためにも

そして特に、右も左も分からなかったプログラミングを始めたばかりの過去自分に対して、

効果的な学習方法プログラムする際の指針を書き記したいと思う。

それらは単に指針を示しているだけなので、

どんなプログラミング言語を使っていようとすぐに実践に移せるはずだ。

後はどれだけそれを実践に移し地道にプログラミングしていくだけである

正しい努力と、ちょっとしたコツさえ知っていれば驚く程生産性を挙げられるはずだと確信している。

プログラマレベルを以下の 3 つに分けてそれぞれについて説明していきたい。

1. 初心者レベル

プログラミング半年未満

・使えるプログラミング言語は一つだけ

ただし以下のことは出来ない。

・500行以上のコードが書けない

エラーが出た時の対処方法が分からない

写経は出来るが、自分プログラムが書けない

2. 中級者レベル

プログラミング半年 〜 3年

・1つ以上のプログラミング言語は使える

オブジェクト指向は理解している

ただし以下に当てはまる。

自分制作しているアプリケーション向けに "実用的なフレームワークライブラリ" を書けない

・1万行以上のコードだとスパゲッティコードになり、保守不能になる

・重複するコードが多く存在する

・適切なサブルーチン化できない

3. 上級者レベル

プログラミング歴 3 年以上

現実の問題に対して適切なデータ構造アルゴリズムを選択できる

抽象化について理解し、可変部分と不変部分を考慮した設計ができる

全てのプログラマはどれかのレベルに属するはずである

またそれぞれのレベルクリアするには明確な壁がある様に思う。

これらの壁を超えるにはどうすればよいかを説明する。

前置きが長くなったが、以下ではまず初級者レベルの人に向けた具体的なアドバイスをする。


初心者レベルの人に向けて

完全に初心者レベルの人はまずどのようにプログラミングを行えばよいのか分からない。一行も書けない。そのため、必然的に以下のような行動を取ると思う。

検索エンジンで似たプログラム検索コピーペーストする

・本に載っているプログラムをそのまま書き写す(いわゆる写経

上のような行動を行なっているだけでは、いつまで経っても自分プログラミングが出来るようにならない。

なぜなら上記のプロセスでは決定的に重要なことが学べないからだ。

それは、【プログラミング言語モデル】を自分の中に作ることである

プログラミング言語ルールの塊である

それは普通言語と同じように文法が存在し、そのしきたりに沿って記述しなければならない。

のしきたりを学べば書けるようになれる。非常に単純だ。

それなのに、なぜいつまで経っても書けないのか?

それは、”書き写す・コピーする” だけでは、そのしきたりが習得できないかである

特に最初のうちのプログラミングは頭を作業使う作業でなく、むしろ "体で覚える" 類のものである

それは例えば、日本語を話すことと似ている。

友達と会話する時、頭を使っているだろうか。

それは簡単な受け答えについては体が覚えているので、考えるより先に日本語が出てくるのではないだろうか。

プログラミングも同様に頭を使うのではなく、こうしたい時はこう書く、という反射神経を育てなければならない。

もちろん日本語話せるだけでは、ミーティングプレゼン出来ないのと同様に、文法が出来ただけではプログラミングが出来るとは言えない。しかし、文法が出来ないと "現実の問題に対処するソフトウェアを作る" というレベルには到底進めない。そのために、まずそのような文法の反射神経やパイプラインを頭の中に作る必要があるのだ。

それには以下の点を意識してプログラミングすればよい。

・"何をしたい時" に "どう書けば正しく動くか" というデータベースプログラミング言語モデル)を自分の中に作ること

このままでは抽象的すぎるので、このような "データベース" や "考える習慣" を自分の中に作るための具体的な指針を以下に挙げる。

1. エラーをたくさん出す

2. デバックの仕方を覚える

3. 小さく動かして確かめ

4. Google を使い倒す

まり、小さく動かして、エラーをいっぱい出し、デバッグを素早く行なって、分からないことは google などの検索エンジンで解決する。これが上達のコツである


これらについては以下で詳しく説明するとして、

まず最初初心者ありがちな間違いをいくつか列挙してする。


関数メソッドをたくさん覚えなければいけない

無理して覚えなくてよい。

プログラマは覚えることが星の数ほどあるので、メソッドなどはリファレンス片手に検索できればよい。

よく使うメソッドなどについては自然に覚えていくので、積極的に覚える必要はなし。それこそ、"体" で覚えるはずである

覚えられないメソッドについてはそもそもあまり使わないから覚えられないので、重要性は低く覚える必要はない。

しろ実現したい処理が既にメソッド関数として提供されていないか、調べる力の方が大事

エラーがいっぱい出てつらい

全く問題ない。

以下で述べるようにエラーとどう付き合うかが非常に重要

写経をしなければならない

教科書や本の中に書いてあることをそのままエディタで書き写し、実行することを写経という。

上記でも述べたように、これからまり無駄努力をしないことを願って言えば、

写経にはほとんど意味がないと思って取り組んだ方がいい。

写経して書いた 10000 行のプログラムより、自分で考えて書いた 100 行のプログラムの方が遥かに意義がある。

なぜならば写経は "作業" だからだ。

そこに "言語モデル" や "思考" が伴わないと意味がない。

”思考” が伴わないとただの書き写す作業をしているだけだ。

自分の中に "モデル" が出来ていないので、いざ自分プログラミングしようと試みても、写経をしているだけでは全く書き出せないだろう。

写経はそもそもプログラミングに対するスタンスプロセスのもの勘違いさせる危険性をはらんでいるいる。

写経する場合、書き写しの間違いがなければプログラムは問題なく動く。

しかし実際のプログラムではコンパイルや実行するまで、そのプログラムが期待通りに動くかどうか、は絶対に分からない。

そして通常は一気に全てを書き上げるのではなく、まず小さなコア部分を書き、少しずつ他のコア以外の部分を書き上げながらプログラム完璧ものにしていく。

書き間違えさえなければ正しく動くと知っているプログラムを、上から一行ずつ書いていくプロセスとは正反対だ。

また、以下で述べるようにエラーが発生した場合デバッグ作業は非常に重要であるだが、そのための作法写経から学ぶことができない。

なぜならば、写経中にエラーが発生した場合教科書自分で書いたプログラム間違い探しをまず一番最初に行うからだ。これはプログラミングに関する作業ではなく、むしろ間違い探し絵本とにらめっこしているに近い内容である

それでは、デバッグ方法言語モデルを作るとても大切なプロセス経験できない。

ゆえにそのようにして完成したプログラムもおそらく正しく動きはするが、得られる経験値は驚くほど低いはずである

とは言え、いきなり自分で書けと言われても書けないと思うので、小さなプログラムを一旦は教科書通り写し、その後自分なりに改変していくのがよいと思う。この場合写経にはほとんどが意味がないと思った方がよい。"自分なりに改変する" というプロセスこそ意味がある。

さて初心者が陥りやすい部分については説明したので、

今度はどのように "言語モデル" を自分の中に作っていくかについて説明する。

1. エラーをたくさん出す

初心者エラーを出さない様にと慎重にプログラミングしようとしがちだ。

はっきり言うと、それは間違ったプログラミングスタイルだ。

特に最初のうちは、エラーをなるべく多く出した方がよい。

なぜならば、エラーを出すごとに、その言語の新しいルールを1つずつ学んでいくことになるからだ。

PHP で例えると、

printf の書式だとか

文末に付けるセミコロンだとか

function はネストできないとか

変数には $ を付けなければならないだとか

グローバル変数関数の中で使う場合は global 宣言するとか

などである

初心者のうちは一切上のようなルールは知らないはずだからエラーを全て踏むかもしれない。

例え今回作っていたプログラムエラーを踏まなかったとしても、回数をこなしていけばいくつかエラーに遭遇するだろう。

しかし、それでよいのだ。

エラーを修正することの繰り返しの中で、その言語モデル自分の中に出来てくる。

そのようなトライアンドエラーを繰り返えすことで、"言語モデル" は文字通り体の中に染み込み、プログラムだんだんと書ける様になっていく。

おそらくこれはは自転車に乗れるようになるプロセスと似たようなものだと思う。

誰しも最初は上手く走れずに転んでばかりいるけれど、何度も何度も転んで起き上がってを繰り返しているうちに少しずつ多くの距離をこげるようになっていくだろう。

そして最終定期には、難なく自転車を乗りこなせるようなっている。

プログラミング言語を学ぶ時も同じである

最初は何度やってもいろいろなエラーが出てくる。

それらのエラーを地道に1つずつ潰して間違いを訂正していくうちに、少しずつ多くの行数の複雑なプログラム書けるようになっていく。

そして最終的には、自由にプログラミング言語を使いこなせるようになっていることに気付くだろう。

自転車も本を読んだだけで乗れるようにはなれないのと同じで

プログラミング言語も本を読んだだけで出来るようになれると思わない方がよい。

それらはトライアンドエラーの繰り返しの中でしか得ることはできないし、誰かから教わる類のスキルでもない。

そして、プログラミングを行うからにはエラーとは一生付き合っていかなければならない。

早めにそれに気付いて受け入れる必要がある。

2. デバッグの仕方を覚える

さてエラー重要性については上で強調した。

実際にエラーに遭遇した時に大事なのはエラーに遭遇した時にいかにその原因を突き止めるかだ。

期待しない動作をした時のデバッグという。

まずいちばん基本的で一番重要デバック方法printf デバックである。これをまず出来るようにする。

怪しい変数をとにかく printf で出力し、変な値が入っていないかを確かめ方法である

僕が常々許せないと思っていることは、初学者向けの書籍にはデバッグ重要性やその具体的な方法論が非常に重要であるにも関わらず、それについては解説すらされていないことである

初心者からこそ、デバッグ方法論や開発環境をきちんと整えるべきである

ほとんどの言語処理系では、デバッグ作業を支援する機能提供している。

からなければ、"言語 デバッグ方法" でグーグル検索してみればよい。

例を挙げると、

C言語だったら、gdb

PHP だったら Xdebug

Ruby だったら pp モジュール

Schemegauche)だったら #?= デバッグ

javascript だったら firebug

言語はいわゆる"定石"と言われるデバッグ方法があるはずで、それらを検索し習得すること。

これは無益時間を過ごさないためにも本当に重要な要素なので、面倒くさがらずに開発環境を整えや方法論をマスターすること。


3 小さく動かして確かめ

最初の内は、基本的にプログラミングする時は小さな部品に別けてから1つずつ確かめながら作る習慣を付けるようにする。

その理由は簡単で、人間は正確無比に物事を進めるのは苦手な一方で、プログラミングでは正確無比に物事を進めることを要求されるからである。そのため、大きなプログラムを一度も実行せずに作成し、一気に確かめようとするとまず間違いなく正しく動作しない。

そして厄介なことに、大きなプログラムを作ってしまうとどこに問題があるのか切り分けすることが困難になるので、ますますデバックが難しくなってしまう。

そのためまず小さく作って小さく確かめ部品を組み合わせてプログラムを作っていくことが大事になる。

一般的に言って、どんなに熟練したプログラマーであろうとも、一つのミスもせずに一定以上の大きさのソフトウェアを作り上げることは不可能である。そのため、ミスエラーはある程度発生することを前提に、少し作っては実行して確かめる、というサイクルをたくさん回す習慣を付ける。

ソフトウェアは一行書き上げた瞬間から指数関数的に複雑性が増大し、気付いた時にはどうにもならなくなっていることも多い。そういう時は思い切って一から作り直すという選択肢検討してみるべきだ。

"Small is Beautiful"

これは非常に有名な unix (という OS)の設計理念である

unix開発者は様々な失敗経験から、このようなソフトウェア開発のベストプラクティスを学んだに違いない。

まだプログラミング経験の浅い人も、これから偉大な開発者経験から学ぶことができるはずである。"Small is Beautiful"。小さく作って動かすこと。


4 Google を使い倒す

先ほどから何度も書いてあるように、プログラミングする上ではエラーとの付き合い方が非常に重要になってくる。

おそらく何らかの上手くいかない場合は何らかのエラーメッセージが出るはずだ。

原因がどうしても分からない場合は、エラーの文章をそのままコピーして検索してみる。そうすると、おそらくエラーの原因と対策方法などが表示されるので、それを足がかりに再度挑戦する。




現実プログラミングは、どんなにスキルが伸びようとも、いつも上手くいかないことばかりだ。それこそ、何をしてもエラーが出てくるし、何をしても上手く動作しない。だから僕は初心者のうちで一番大事能力とは、実は "忍耐力" だろうと少しばかり思っている。

でも悩んでるのはあなただけではなく、おそらく全てのプログラマーが通ってきて道だ。

そして、自分の思い通りに動くプログラムを見た時程うれしいものはない。

ぜひ初心者の人はこれを読んで少しでもプログラミングが出来るようになればと思っている。





2012-09-05

URLが間違っています」系のエラーメッセージ

URLを手で入れることなんて1年に1回もないんだから、間違うわけないだろ

まりレアな原因をデフォで疑えみたいに表示しても、意味ないと思うのでやめて欲しい

2012-06-19

Titanium MobileのKitchenSinkをTitaniumStudioで動かすHowTo

Project ExplorerでImport > Git Repositoryとかすると上手くいかない。走らせようとしても「The selection cannot be launched, and there are no recent launches.」というエラーメッセージが出る。

正解は、KitchenSinkをDL解凍しておいて、Project Explorer > Local Filesystemから解凍したプロジェクトフォルダを選択し、右クリックから「Promote to Project...」する。

このとき表示されるダイアログでは、Project nameとかは適当に設定して良いみたいだ。

Project Typeは、よく判らんからTitanium Mobileのみを選択した状態にしといたら上手く行った。標準ではWebのみが選択されているけど、それでも良いのかどうかは試してないから知らん。

via http://developer.appcelerator.com/question/132777/cannot-build-project-the-selection-cannot-be-launched

2012-01-27

[] Firebugログ上限に達しました。

エラーメッセージFirebugログ上限に達しました。n 件表示されませんでした。」

about:configextensions.firebug.console.logLimitを増やす。

既定値は500件。

2011-04-09

最速でプログラミング言語を覚える為の10か条

はてな匿名ダイアリーを見て思った、最速でプログラミング言語を覚える為の10か条。

  1. 目的にあった言語を覚える。目的にあわない言語意味がない。
  2. 世間で人気の言語を覚える。似たような用途の言語であれば、人気な方を選択する。
  3. 継続する。外国語学習と同じだが、外国語よりは身につきやすいから安心しよう。
  4. 適切な参考資料を読む。公式チュートリアル、公式リファレンス、公式、もしくは人気FAQ書籍雑誌記事・@ITCodeZineの連載など。不適切な参考資料は読まない。例えば、^.*基礎文法最速マスター$は役立たないから読まない。
  5. 悩むよりは入力して挙動を確認する。公式チュートリアルや、『入門書』のサンプルコード入力して挙動を確認するべき。
  6. ソースコードコピペはしない。チュートリアルはともかく、インターネットで公開されているコードは、不適切なものも多数ある。
  7. メーリングリスト掲示板で質問をする。環境エラーメッセージソースコードなどを整理してから、質問する事は社会常識
  8. 最初目標は低く設定する。複雑なアプリケーション最初から作れない。機能拡張は段階を追っていく。
  9. 完璧は無いから、常に向上を心がける。より良い開発手法、より良い記述方法、より良いアルゴリズムが大抵ある。
  10. 完璧は無いから、動けば正義ベストプログラムでなくても、役立つプログラムは多数ある。恐れずに試行錯誤する事が大事

最初に覚える言語は、目的が明確でない場合JavaPythonを推奨する。言語仕様が簡潔で、資料が豊富で、応用範囲が比較的広い。

2011-03-21

http://anond.hatelabo.jp/20110320223445

ペロペロ

1. htmlのはき出しがあるやつは?>を書いたほうがいいよ。それ以外は最近はかないのがはやりだねさらに昔はevalとかで書いてた

2. configこれはwwwやpublic_html以下にしかconfigを配置できないクソサーバーがあるので、phpにしておいたほうが安全。なぜなら丸見えにしてあれこれパスをさらけ出すバカがいるかもしれないからだ。オープンソースなら特に。

3. コメント挨拶だ。必要以上に挨拶を繰り返す必要もないし、それ以上でも以下でもない。

4. eclipseのせいと、phpとかが出始めたころのコーディング規約がスペースにするように求めた。{を改行してから書くか、続けて書くかのこれは宗教戦争だ。だが正直スペースは気に食わない。LLのくせに何バイトつかってるのだとおもう。あとスペース2文字インデントのやつは旅立て!

5. phpの0と""の違いは緩すぎる。そういう意味ナンバーの取り扱いにだけは気を配るべきだ。あとはtmpでもbufでもretでもなんでもいい。

6. nullはつっこむな、nullで初期化はすんな。初期化されてないからnullなんだ。issetは有効につかえ。とくに$_系の変数

7. 本当はerrorprocをかけといいたいがLLにそこまで望んでもしゃーない。エラーを投げると鯖ログにまで場合によっては落ちたりしてやっかいからfalseを返せばいいというものでもないが、trueで初期化するやつは滅びていいと思う。あとarrayを返すようなfunctionの場合phpのなんだっけisarray?だっけ?がクソすぎて萎え

8. つかダブルクオートのなかに$を書くコードは滅びていい。コンストはすべて大文字でという昔ながらのルールだけ守ってくれればいい

9. 出力系のラップ関数ぐらいつくっておこうぜ。あと、var_dumpとかのほうが見やすい。あと、get_defined_varsとかをラップしておくと便利

10. 三項演算子はつかうな。ifの{}を略すな。可読性がおちるのとしんたっくすで原因の特定がめんどくさい。

11. phpの==ほど信用ならないものはな

12. ++iなんていうコードを書くな。あと、roopの条件文で計算すんな

13. むしろこういうのは文字列の連結以外で使うようなスチュエーションをつくっちゃだめ

14. あら上で言っちゃったよ。ここまでやるんだったらlogファイルに吐き出すところまで拡張しとけば?

15. んー。エラーメッセージを定数化するとき外国版をつくるあてまである時だけだな

16. これも上でいってしまったな。あとリロードされてもいいように初期化クリアしておくといいぞ。

17. ああそうだな、関数が1スクロールに収まらないときは大抵正規化に失敗してる。つくりをみなおせ

18. えー、こんな風に書くのはどうかしている。public二つチェインで呼び出すぐらいなら、内部でprivateを呼び出すか、継承させてparentにしておくべきか、それともシステムとして共通のstaticで呼び出せるかにしてくほうがいいのでは?$this->setThis()でいいじゃないか。なぜpublic functionをそういくつも定義する必要がある? 外部から入り口出口は絞れ

19. グローバルなラッピング関数は最低限にとどめるべきで他は機能ごとにクラスつくってメソッド化しとけ。p(var)じゃねぇよDEBUG::p(var)とかにしとけってことだ

20. 眠くなったからねる。つまりはそんなもんだってことだ。気に病むな。満足してもらえるもんをしっかりつくればいいだけだ

2011-03-05

http://anond.hatelabo.jp/20110305004027

ぜんぜんおかしくない。

というか、なんでまわりが笑ったのか、説明を聞いてもわからない。

メーカーが公表している情報を探したけどわからなかった。

分かる範囲の一般的なトラブル対応をしてもダメだった。

したメーカーの人が個別に対応する窓口に聞くしかないじゃん。

それが普通だし、そう言える増田は間違ってない。

わかったふりで適当にいじって「あ、もうこれダメですよ」とでも言えばよかったのか?

PC仕事って言ったっていろいろなんだしさぁ。

専門外ならそれなりの知識しか持ってないよ。

下手に弄らないで現象と経過とエラーメッセージ添えてメーカーに聞くのが一番。

わかってない老人にはPC関係の仕事PCなら何でもわかると思われちゃうんだよね。

増田、おつかれ。

2011-02-28

amazonサポートが本当にムカつく!

昨年の春頃注文した本がようやく入荷したってんで

「ついてはカードの期限が切れてるから変更しろ」と来た。

カードの期限が切れるほど入荷に長い時間かけたのはamazonだが

古いカード処理しておかずに新しいカードを入れろと言う。

まあここまではいいさ。

素直に更新したしいカード情報を登録しようとしたら、アカウントサービスが言うことを効かない。

システムメッセージで何故か「カード情報がおかしい」と言われる。

で、

「こんな出てるけど何。新しいカードは絶対生きてるしミスタイプもしてないよ(要約)」とサポートメールを送ったら

カード情報がおかしいからキャンセルしてもう一回注文してくれ(要約)」と返答が来た。


お前それ、エラーメッセージそのまま読んでるだけじゃねえかと。

めんどいからキャンセルしてほしいと言ってるだけじゃねえか。

仕事したくないでーす」って言ってるのとどう違うんだよと。


「それのどこがサポートボケ!真面目にやれ!(要約)」と送ったら、今度は

「住所情報が正しくないかカードも無効になってる、手続きして直してくだちい(要約)」とかわけのわからないこと言う。


俺は間違った住所なんかamazonアカウントに入れてないし、長年同じ住所に送ってもらってる。

もう意味がさっぱりわからんけど、すでに入ってるのと同じ自宅の住所を入れなおした

したカード情報も登録できたので、意味がさっぱりわからんけどまあ解決らしい

アマゾンシステムがなんかイカれてるとしか思えないが。

あいいさ、解決したなら。


した今日

「ご注文の商品は在庫が無く、次いつ入荷するか分からない」

キャンセルするならここから手続きしてくれ」なんつーメールがきやがった!

じゃあお前、面倒なメール往復して支払い情報登録したはなんだったんだよ!

だいたい「商品が入荷して発送準備段階に入った」って言ってたよな!?

その商品どこやったんだよ!この数日の間にキープしないで売っちゃったのか!

それとも元から入荷って言うのが嘘だったのか!


前にもおんなじことがあって、

その時はコンビニ支払いを指定してたので

入荷通知→払込番号通知がくる→コンビニから一万円弱振り込み

の後に「在庫がない」っつってキャンセルしやがった。

返金はアマゾンギフト券でしやがった。


なんなんだこれ?

アマゾンて販売部門は優秀だろうしとっても便利だけど

サポート部門は小学校低学年と文通してるみたいな気分にさせてくれる。

1回だけならたまたまだと思ったが、1回じゃない。

2011-02-25

amazonサポート対応がほんとにムカつく

アカウントサービス操作すると

 操作と食い違う変なエラーメッセージが出るので

 こりゃなんかシステムに不備があるだろう、対処してくれ」

ということを具体的かつ簡潔に連絡したのに、

そのエラーメッセージをそのまま読んだだけの返答をしやがる。


からそのエラーメッセージの言ってることはおかしい

仮に言うとおりに操作しようとしても止まるんだってことを、

最初の連絡で書いただろ!

お前のやってることはサポートなんかじゃないし

依頼を理解してないって点でガキの使い以下だ!


amazonサポートって

確率でこういう給料泥棒に当たるんだよな。

スタッフごとに結構差がある感じもするけど。

2010-10-19

http://anond.hatelabo.jp/20101019013905

まず落ち着こう。

処理しているのはあくまでコンピュータだ。

神様だってピンポイントで意地悪するほど暇じゃない。

エラーメッセージをもう1回よく読もう。そのままWeb検索するのも手だ。

それに「ここは絶対に間違いない」と信じているところを疑ってみよう。

印刷して読み返すと、モニターとは感覚が変わり間違いに気がつくことがあるぞ。

大丈夫。わからないという不安に押しつぶされてはいけないぞ。

よく見る、調べる、一つ一つを確実にやっていこう。

2009-10-24

WindowsMessengerでログインしようとしたら

Messenger - 「この kids passport アカウントでは windows messenger はご利用なれません」

なんだこれは!俺をガキ扱いする気か!

http://help.jp.msn.com/announce.aspx#20090907_Mess

平素より、Windows Live サービスをご利用いただき、誠にありがとうございます。

現在、下記のエラーメッセージが表示されてWindows Messenger (*1) に

サインインできない現象が発生しており、ご不便をおかけしております。

(*1 Live Messenger と互換性はございますが別のプログラムとなります。)

エラーメッセージ

この kids passport アカウントでは windows messenger はご利用なれません。

kids passport の詳細および両親の同意の必要については

kids passport web サイトを参照ください


複数のお客様より、別の Windows Live ID アカウントでは

Windows Messengerサインインができる報告をいただいておりますため、

Windows Live ID アカウント登録情報に起因した問題であるか

Windows Live サービス担当部署にて総力をあげ、調査を行っております。

お客様には、しばらくの間ご迷惑をおかけいたしますが、

調査が完了するまで、お待ちくださいますようお願い申し上げます。

一時的な回避策とはなりますが、改善まで別 Windows Live IDアカウント

ご併用を検討いただけますと幸いでございます。

 <Windows Live IDアカウント新規登録方法>

 1. http://hotmail.com/アクセスします。

 2. [新規登録] をクリックします。

 3. 必要な項目をご入力ください。


お客様にはご不便おかけし、申し訳ございませんが、

ご理解いただきますよう何卒お願い申し上げます。

[2009.09.07 掲載]

もう1ヶ月半経ってるぞ-。

2009-10-19

なぜ上手くいかないのか

隣の子のPCが起動しなくなった

スイッチ入れて、Winロゴが出て、ようこそ画面になるところで

黒い画面なまま、カーソルがぽつねんとあるだけ、そこから先に進まなくなってしまった

エラーメッセージも特になし

すんごい困った

セーフモードでも同じ現象ってどういうこった

四六時中使ってるマシンだから、すぐにでもどうかしないとダメなのに

何をしたらいいかサッパリ

修復インストールを試みるも、再起動かけたら結局変わらず

しょうがないからDドライブインストール

画面でかい、解像度変えられない、ネット繋がらない

もう最悪

でもデータは丸まんま残ってるから、ソレがせめてもの救いか

USBドライブデータ移す

容量たしかにあるけど、なんでそんなにかかるの?

「残り99分」→「残り137分」とか増えるし

専門じゃない素人社員でそこらへんまで面倒見るって、もう無理よ?

2009-10-07

Eメールが相手に届かない13の理由

いや、実際にはもっとあるんだろうけど。 つっこみよろしく。

  1. ユーザー名もしくはドメイン名間違いで別人に到着(送信者の問題)
  2. ユーザー名間違い、相手先サーバには存在しないユーザーだが、相手先サーバエラーメッセージが返信されない設定になっている(送信者の問題)
  3. 添付ファイルが大きすぎて送信側でエラーを返しているのに気がつかない(送信サーバ設定)
  4. 添付ファイルが大きすぎる(受信サーバ設定)
  5. 相手先サーバ添付ファイルの形式を制限している(受信サーバ設定)
  6. 相手先メールボックスが満杯状態(受信サーバの問題)
  7. 相手先メールサーバ SPAMブロック(受信サーバ
  8. 相手先PC セキュリティソフトによる SPAMブロック(受信者
  9. 相手先メールソフト SPAMブロック(受信者)→サーバ側で対策する製品だと、手元のメールボックスにそもそも届いていないケースがある。
  10. 相手先アドレスが実はメーリングリストBCCがはじかれる(受信サーバ設定)
  11. ホップ数超過(受信・送信サーバの経路問題)
  12. 路上、もしくは相手先でのネットワークサーバの障害・メンテナンス受信・送信サーバの経路問題)
  13. 実は届いているけど気がついていなかったり、都合が悪いので知らんふりしてる(受信者の問題)

(1)(2) →アドレス帳に登録して相手の名前が表示されているため、メールアドレスの間違いに気がつかない。

(3)   →送信者エラーコードは帰ってきているが、送信エラー表示に気がついていない。

(6) →いずれも相手先メールサーバエラーメッセージを返信しない設定になっている場合気がつきにくい。

(10)  →自動送信ツールなんかで、あて先を全部BCCに突っ込んで一括送信する場合意外な盲点かも。部門で利用しているようなメールアドレスのときに要注意。

(11)  →ホップ数設定が低いサーバが経路上にあると破棄されてしまう。

     標準は26くらいで、引っかかることは少ないようだが、昔は10とか6とかあったらしい、

(12)  →引越し通知に返信したのが引越し当日でメールサーバの電源きれてますとかな~   

(13)  →CC同報で送っていても、自分には届いてないと主張されると相当厄介。

     自社内であればメールサーバログなどで受信状況確認したりできるけど他社の場合はなかなか証明しづらい。

     というか、しらばっくれられて確かに届いていたことを証明しろとかいわれてしまうと正直どうしようもないんだが、、

2009-10-01

ruby on rails インストール中のエラー

 WinXP機に、ruby on rails インストール中(gem使用中)に下記のエラーが発生した。

ERROR: http://gems.rubyonrails.org/ does not appear to be a repository

ERROR: could not find gem rails locally or in a repository

時間ほど格闘した結果、プロキシの設定をしてないだけだった。環境変数HTTP_PROXYを作り、URLを設定する必要があるらしい。

Goto the cmd line

set HTTP_PROXY=http://mycache:8080

http://wiki.openqa.org/display/WTR/FAQ#FAQ-HowdoIgeminstallWatirbehindaproxyserver%3F

エラーメッセージ検索しても、日本語で回答が出て来なかったので、ここにメモ

2009-09-26

twitter自分メールアドレスで登録できない

twitter自分メールアドレスで登録しようとしたら、次のエラーメッセージが出た。

Email has already been taken.

たぶん、ネットに公開しているメールアドレスだから勝手に使われたのだと思う。

こういう場合、どうしたらいいのだろうか。

2009-08-04

http://anond.hatelabo.jp/20090719101938

ちがうにょー

デバッグに梃子摺る人が初心者に多いわけは、主に次の3つに起因するにょ。

エラーメッセージを見ることに慣れていない

エラーメッセージの見方を知らないからエラーメッセージを全く見ない。エラーが出ている場所と内容まで事細かに記してあるコンパイルエラーメッセージや実行時スタックトレースを前に絶望してしまい、慌ててソースコードを1から読み直してしまう。特によく耳にするのが『どこが悪いのかわかりません』だけど、数行のエラーメッセージに答えがずばり書いてあることがほとんどだったりします。

データフローという概念を知らない

特にプログラミングに慣れていない初心者が陥りがちなのが、制御フローばかりに目が行ってしまい、制御フローから類推できるデータフローには気を配らないという現象。例えば値「1」を返す関数が「2」を返してきてしまった。確かにそういう場合には制御フローを辿ることも重要だけど「2の源流をたどってみる」ことをすれば、意外とすんなり原因が見つかることも多かったりです。

一字一句まで気を配らない

たままの文字にばかり注意してしまい、例えば半角空白と全角空白とタブを見分けていなかったり、他にも行末に1個空白が紛れていて「なんで上手く処理されないんだ」と悩んでしまう人が意外といる。他にもコンパイルエラーで多いのが ; の有無だったり () の対応だったり。原因の目星がついても、最後の最後で躓くのはおおよそこういうポイント。慣れればぱっと見で気付くことなんだけど、このあたりが前述2つの理由と相まって、意外と疎かにされやすいところなんだよね。

総じて、デバッグを出来ない初心者に共通する原因は「結果から原因を探ることに慣れていない」ということに集約されたりする。そもそも結果を見ていなかったり、結果から原因を逆算する手法を知らなかったりするのが、「慣れていない人」というわけです。

2009-04-16

「出にくい」じゃねえだろ

http://news.dengeki.com/elem/000/000/153/153004/

MSXbox 360本体の“E74”エラーに関する保証期間を延長

2009年4月15日(水)

 マイクロソフトは、Xbox.comのサポートページで、Xbox 360本体の“E74”エラーに関する保証内容を変更すると発表した。

 これは、Xbox 360本体を起動した時に“E74”というエラーメッセージが表示される問題を指す。同社はこのエラーが出た場合、保証期間を購入日から3年間に延長する。保証期間中、ユーザーは無償で修理を受けられるようになる。すでに“E74”エラーで有償修理を受けている人には修理代金が返還される。詳しくは、 Xbox.comのサポートページを参照のこと。

 なお同社によれば、現在製造中のXbox 360本体では“E74”エラー出にくいよう改良が施されているという。

エラーが頻発する事が前提みたいな言い回しはやめてくれ・・・

2009-02-01

http://anond.hatelabo.jp/20090201022835

元増田の指摘したい問題点が、

  • pngをアップできるはずなのに、できないこと

なのか、

なのか、どっちなのか知りたい。両方かな?

前者は、はてなからしたら環境固有の問題~と判断してスルーしてるのかも。

後者だとしたら、エラーメッセージくらいちょちょっと修正しようぜ、って感じだな。

2008-12-05

Amazoのコンビニ受取

仕事が忙しく、日中家にいられないためコンビニ受取を初めて使った。

コンビニ受取のヘルプとよくある質問のページを確認して、コンビニで受け取れない商品があるときは

注文途中でエラーメッセージが出るということだったので、欲しい商品を3つほど注文。

Amazonから発送のメールが届いたのでコンビニ商品の受取をしに行ったら、商品が届いていなかった。

配送ステータスを確認したら受取拒否になっていた。

訳がわからず配送業者の窓口に連絡したら、配送された荷物のサイズがコンビニ受取できるサイズを超えていた為

返送されたという事だった。

どういうことだ?受取できないなら注文途中でエラーメッセージがでるんじゃないのか?

Amazonコンビニに配送するときにサイズを確認してないのか?

意味が解らない。

Amazonに問い合わせようとしたが、携帯電話での問い合わせができなかったためメールにて

問い合わせをしている。しかし返事はまだない。

はやくFallout3がやりたい・・・。

2008-11-01

http://anond.hatelabo.jp/20081101031348

Could not load class (App::Mobirc::Plugin::HTMLFilter::DoCoMoCSS) because : Can't locate XML/LibXML.pm in @INC (@INC contains: /home/pc/mobirc/lib /etc/perl /usr/local/lib/perl/5.8.8 /usr/local/share/perl/5.8.8 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl .) at /home/pc/mobirc/lib/App/Mobirc/Plugin/HTMLFilter/DoCoMoCSS.pm line 5.

どっか変なところある?

真っ当なエラーメッセージだと思うけど。

2008-10-02

http://anond.hatelabo.jp/20081002120302

Firefoxなら、そんなエラーメッセージをガン無視して入力できるぜ!

もちろんJavaScriptのあたりをごそごそいじった自分の設定じゃないと無理だけど。

まぁ、縛られてなさいってこった。

2008-08-27

http://anond.hatelabo.jp/20080827182513

2ちゃんねるのそれ系のスレッドでは

「ツールが使えん」の声はたくさん出ていて

専用の掲示板amazonの用意した掲示板)では

「複数の商品アップロードする」をクリックした後の画面で、「今すぐアップロード」のボタンクリックするとエラーメッセージが表示される問題は、一部の出品者様でまだ問題が解決されておりません。解決され次第、Amazonマーケットプレイス掲示板にてお知らせいたします。

という表記はある。でも「一部の出品者様」という言葉からするとあんまり対応する気はもうないみたい。ひどす。

2008-08-25

http://anond.hatelabo.jp/20080824230003

うちの母はパソコンほとんど使えないんだけど、これ何でかって言うと「推測する能力」が無いからだと思うんだよね。

見たことないエラーメッセージが出てきたときに、これまで見たエラーメッセージからパターン認識して問題無さそうな対応をする(とりあえずokボタンを押すなど)ことができない。

ソフトの使い方なんてどれも「だいたい」同じなのに、その「だいたい」が理解できずに逐一個別対応しないと使えない。

いちいち個別に憶えてたら日が暮れる。記憶力がミジンコ並の俺でもパソコンを使える理由は、推測する能力にあると思うね。

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