「に学ぶ」を含む日記 RSS

はてなキーワード: に学ぶとは

2018-11-25

虐待イジメ自殺したとかなら苦しみは理解できるけど、

ぬくぬくニートして働くのが嫌だから自殺未遂しましたとか、

これのどこに学ぶものを見出せばいいのか全くわからん

親が子供の老後までレール引いてやらないと生きていけませんって事か。

2018-11-18

レベルの低い大学に入ってしまったと思ったら

大学受け身で授業を受けるところではなく、自分勉強していくところだ。

実は大学の授業のレベルはどこも低い。

嘘だと思うなら好きな大学に潜り込んで授業を聞いてみるとよい。「こんなものか」と思うだろう。

もし東大に優秀な学生がいるとしたら、彼が優秀なのは東大の授業を受けたから」ではなく彼自身自力勉強たからだ。

あなたのいる大学東大だろうが偏差値の低い大学だろうが学問を学ぶためにやるべきことはあまりかわらない。

その分野の名著、定番書と呼ばれるものをどんどん読んでいこう。

ただ読むのではなく数年後に自分研究者側になることを意識して考えながら読もう。

この記述は正しいのか?反例はないのか?全体の論理の流れはどうなっているのか?もっとエレガントに証明できないか

思考法やテクニックセンスと呼ばれるものを磨いていこう。

東大生に比べて偏差値の低い大学学生が不利なのはおそらく共に学ぶ人がいないことだ。

議論する相手輪講をする相手が見つからないなら教授陣に相談に行こう。

どんな偏差値大学だろうが教官はまともな研究者だ。彼らはあなたの強い味方になる。

学ぶうちに自分研究したい分野が見つかるだろう。

そうしたらその研究室の教授メールを出してみよう。東大だろうがハーバードだろうが臆することはない。

研究生にしてください」「学科転向したいのですが相談に乗ってください」「あなた研究室に入るにはどうしたら良いですか?」

といったメールを彼らは国内外からよく受け取っているので対処に慣れている。

仮に返事がないならおそらくあなたメール迷惑メールフォルダに入ってしまったのだと思う。めげずに別の人にも送ってみよう。

フリーメールアドレス迷惑フォルダに入りやすいので大学メールアドレス xxx.ac.jp から送った方がよいと思う)

実は大学受験に比べて大学入試簡単だ。

あなた知識理解度研究レベルに達していればどの大学でも入ることができる。

(ただし分野による。例えば物理学科なら素粒子理論宇宙論は別格。どの大学でも入るのは厳しい。)




anond:20130818033214

増田は悪くない。運が悪かった。

そして娘さんの人生は終わっていないよ。

ここがスタート地点だ。

よかったら娘さんに印刷して渡してほしい。(anond以下を削ってね)

それから検索すると「XX研究室に入るにはどうしたら良いですか?」といった FAQや、勉強法、心構えをまとめたページがたくさん出てくると思う。

大学院進学を考えている皆さんへ

How to prepare for seminars

数学は体力だ! - 筑波大学 理工学群数学類/大学院数学専攻

すぐに思い出せたもの3つだけ載せておく。

とくに最後のページは数学科以外の人でも読むと勇気とやる気がもらえると思う。

2018-11-16

anond:20181115131151

算数学習において、7をかけるという考え方は必要。七の段の九九を暗唱することは必須ではない。

九九は足し算で代替することができる。また六の段とかける数を足すことで七の段は代替可能である

これらの考え方は小学校2年生でかけ算を学習するときに学ぶ

2018-11-12

全ての開発者Qiitaへのアウトプットをやめるべき理由

https://qiita.com/qiitadaisuki/items/2160a390ce91283707a1

机上の空論断じていい理由


■出来る人間ほど謙虚である

無知の知」の考え方からかるとおり、知識がありかつ人間的に成熟している人物基本的謙虚であるダメ記事を拒絶する環境は、扱うに値する知識を持つ上「自分は大したことない」と謙虚姿勢も持ち合わせる上質な技術者を遠ざけ、「無知の知」を理解せずどうでもいい話を言論の場で自慢げに振りかざしそれを恥と思わないような記事を増やす


■誰もが最初から出来るわけではない

ごく一部には生まれた時から息を吐くようにPythonを紡ぎ出せるプログラマいるかも知れないが、殆どプログラマは「○○入門」とか「サルでも出来る××」とかそういう入門書Web記事を見ながら学んでいき、成長していくものだと思われる。「入門書しか読めない人が書くような記事お断り」なんて圧力のある場所で、なんの反感も抱かずに記事が書ける叩き上げがいるとしたら、よほど選民意識の高い人間的に微妙プログラマだと思われる


任天堂の失敗と成功に学ぶべき

任天堂SFC絶頂期を越え下降線をたどり始めた辺りで「下降しているは質の悪いゲームが増えたからだ」という結論を出し、糞ゲーを廃する方針を貫いた結果、任天堂しかソフトを出さなくなり業績が悪化、PS1でソニーに大きく差を付けられることになった。任天堂以外のソフト殆ど出ていない状況は今は多少改善されているが未だに任天堂を苦しめている。Switchではダウンロードソフトに関してある程度その姿勢を改めた結果質は多少落ちたが、低価格ダウンロード販売に限って同じソフトの売り上げが他の機器と比べ2~4倍近く売れる盛況ぶりを見せている。アタリショックのような災害を防ぐためにはある程度の選別は必要かもしれないがやり過ぎればろくな結果を招かない


質のいいゲームというのはいつもコンスタンスに出るわけではなく、時期により数が多くなったり少なくなったりする。少ない時期が長くなると人は監視の頻度を少なくし、質は落ちてもより多くのゲームの出ている場所を見るようになり、やがてゲームの数の少ない場所を見なくなって人が集まらず、よりゲームも出なくなる。そういう負のスパイラルが発生する。「ゲーム」を「記事」に置き換えれば、おそらくQittaでも同じ事が言える


ちなみにまた、コンビニおでんでも似たような現象がある。コンビニおでんに関しては具のうちの8~10種類で元が取れ、それ以外は単品では赤字が出るらしいが、黒字おでんだけしか販売しないようにするとその黒字おでんの具すら売れなくなるという現象がよく言われている

2018-11-11

増田プログラマー養成講座 その21 データベース設計 (1)要件定義

前回まで、データベースを使ったWebアプリ作成して、SQLの使い方を学びました。

今回からデータベース設計について学んでみよう。

 

参考書

これらの参考書ガッツリ読めば、データベース設計のやり方は分かる。

 

リレーショナル・データベースは昔からある枯れた(=安定した)技術なので、鉄板ノウハウが蓄積されている。

先人の知恵に沿って使うなら、データベース設計で悩む余地は少ない。=攻略は意外と簡単

 

データベーススペシャリスト教科書

経済産業省認定情報処理技術者試験で「データベーススペシャリスト」という資格もある。

 

データベースエンジニア」という肩書きを名乗れば、ただのプログラマーよりも高給取りになれる。勉強した後、自分知識棚卸してみるつもりで資格を取ってみるのもいいだろう。

データベーススペシャリスト試験教科書には、浅く広くDB知識網羅されているので、1度眺めてみたらいいかも。

 

 

 

データベース設計の流れ

データベース設計(database design)は、ソフトウェア開発工程においてデータベースの詳細なデータモデルを作る工程である

 

  1. 要件定義:「CRUD表」の作成
  2. 概念設計:「概念モデル」の作成 → ER図(実体参照モデル)の作成
  3. 論理設計:「論理モデル」の作成 → テーブル定義表の作成
  4. 物理設計:「物理モデル」の作成 → 論理モデルを実際にデータベース上で作成インデックス作成など

(分類方法にもよるけど)データベース設計は、このようなステップを経る。それでは順番に見ていこう。

 

 

 

1.1 永続化するデータを決定する

いわゆる「要件定義」だ。

実際にシステムを使うことになるユーザーヒアリング調査して、データベース内に永続化(格納)すべきデータを決定する。

 

CRUD表とは?

データCRUD操作(Create 追加、Read 参照、Update 更新Delete 削除)が、いつ、どこで発生するか?をまとめた表のこと。

 

データベース 設計 CRUD表」等のキーワードGoogle画像検索してみよう。どんな表か分かる。

↑このページの「図2 標準的CRUD図(例)」みたいな表を作って確認すれば、扱うデータの過不足がなくなる。

 

複雑なシステムだと、完全なCRUD表を作るのは面倒だよねw

だが安心して欲しい!

押さえておくべきポイントはあるので、そこだけ手抜きをしなければ、大失敗は避けられるだろう。

 

マスタートランザクションの違い

実は、後でテーブルを作るときに、データ更新頻度によって2種類に分類できるんだ。

 

 

トランザクションデータの扱いは、気を付けないとデータベースの性能低下に直結する。

どっちのタイプデータなのか?要件定義の段階から見分ける癖を付けておこう。

 

要件定義練習

試しに、Amazonのような通販サイトなら、どんなデータを扱うことになるのか?想像してみよう。

仕入先、在庫数、受発注配送会社顧客情報商品カテゴリー、商品スペック、などいろいろあるだろう。

いつどこでCRUDが発生するか?どれがマスターデータで、どれがトランザクションデータだろうか?

 

 

 

(ここまでの説明URLを8個も貼ってしまったので、続きは次回にしよう。)

次回は「概念設計」以降のステップを見てみよう。

 


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:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベース参考書

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

anond:20181031014212 増田プログラマー養成講座 その14 Webアプリの試作品作成

anond:20181101225335 増田プログラマー養成講座 その15 Webアプリの完成見本

anond:20181101230220 増田プログラマー養成講座 その16 Webアプリの完成見本(続き)

anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得

anond:20181110120715 増田プログラマー養成講座 その19 SQLデータ更新

anond:20181110182445 増田プログラマー養成講座 その20 SQLデータの削除

anond:20181111205255 増田プログラマー養成講座 その21 データベース設計 (1)要件定義 ←★今ここ★

anond:20181119224031 増田プログラマー養成講座 その22 データベース設計 概念物理

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

2018-11-04

増田プログラマー養成講座 その18 SQLデータの追加と取得

前回は、Webアプリの骨組み(スケルトン)までを作って、製作過程を見てみました。

今回は、データベースCRUD操作を行なって、チャットメッセージを追加/取得/変更/削除する機能実装してみましょう。

 

Visual Studio Codeの準備

Webアプリを作るときに、「Visual Studio Code」というIDE統合開発環境)を使ってみましょう。PHP用の各種プラグイン(「PHP IntelliSense」「PHP Debug」など)を入れておけば、便利に使える。

 

メッセージの追加

  1. ViewHTMLのFormタグを使って、メッセージ入力送信できるようにする。
  2. Controller:Viewから送信したデータを受け取れるようにする。
  3. Model:Controllerが受け取ったデータデータベースに保存する。

という機能実装してみよう。

 

Viewの改造

ファイルの内容を以下のように編集する。

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>新規投稿</h2>

  <form action="welcome/index" method="post" accept-charset="utf-8">

   <label>メッセージ</label>

   <input type="text" name="message">

   <input type="hidden" name="action" value="add">

   <button>投稿する</button>

  </form>

 </body>

</html>

 

Viewの改造の解説

本当はセキュリティーを考慮して、入力値の検査バリデーション)とか、もっといろいろな仕込みが必要だが、ここでは練習なので省略します。

 

Controllerの改造

 

ファイルの内容を以下のように編集する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 public function __construct()

 {

  parent::__construct();

  $this->load->model('chat_model');

  $this->load->helper('url');

  $this->output->enable_profiler(true); // for debug

 }

 

 // 初期画面

 public function index()

 {

  $action = $this->input->post('action');

  if ($action == 'add') {

   $message = $this->input->post('message');

   $this->chat_model->create_message($message);

  }

  $this->load->view('welcome_index');

 }

 

 // 更新画面

 public function update()

 {

  $this->load->view('chat_update');

 }

 

 // 削除画面

 public function delete()

 {

  $this->load->view('chat_delete');

 }

}

 

Controllerの改造の解説

 

Modelの改造

ここでやっとSQL文の登場だ!!!

SQL説明たかったのに(SQLとは本質的関係がない)Webアプリ説明が延々と続いた。(説明方法を変えた方がいいねw)

データベースデータを保存(追加)するSQLコマンド「INSERT」を使ってみよう!

 

ファイルの内容を以下のように編集する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Chat_model extends CI_Model

{

 public function __construct()

 {

  parent::__construct();

  $this->load->database();

 }

 

 // Create

 public function create_message($message = '')

 {

  $sql = "INSERT INTO talk SET create_at = ? , message = ?";

  $param = array(date('Y-m-d H:i:s'), $message);

  $this->db->query($sql, $param);

  return $this->db->insert_id();

 }

}

 

Modelの改造の解説

 

以上、メッセージの追加を実現するために、MVCの各パーツを用意した。これでメッセージの追加だけができるようになった。

これだけではメッセージの取得=表示がまだできないので、次はデータベースからメッセージデータを取得して、Webページに表示できるように改造しよう。

 

メッセージの取得

SQLの「SELECT」を使えば、データベースからデータを取り出せる。

メッセージデータを取り出して、Webページの表示で使おう。

 

Modelの改造

ファイルの内容を以下のように編集する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Chat_model extends CI_Model

{

 public function __construct()

 {

  parent::__construct();

  $this->load->database();

 }

 

 // Create

 public function create_message($message = '')

 {

  $sql = "INSERT INTO talk SET create_at = ? , message = ?";

  $param = array(date('Y-m-d H:i:s'), $message);

  $this->db->query($sql, $param);

  return $this->db->insert_id();

 }

 

 // Read All

 public function read_message()

 {

  $sql = "SELECT * FROM talk";

  $query = $this->db->query($sql);

  return $query->result_array();

 }

}

 

Modelの改造の解説

 

これでデータベースからデータを取り出すSQLメソッドモデルに用意できた。

 

Controllerの改造

 

ファイルの内容を以下のように編集する。

<?php

defined('BASEPATH') or exit('No direct script access allowed');

 

class Welcome extends CI_Controller

{

 public function __construct()

 {

  parent::__construct();

  $this->load->model('chat_model');

  $this->load->helper('url');

  // $this->output->enable_profiler(true); // for debug

 }

 

 // 初期画面

 public function index()

 {

  $action = $this->input->post('action');

  if ($action == 'add') {

   $message = $this->input->post('message');

   $this->chat_model->create_message($message);

  }

  $data['talk'] = $this->chat_model->read_message();

  $this->load->view('welcome_index', $data);

 }

 

 // 更新画面

 public function update()

 {

  $this->load->view('chat_update');

 }

 

 // 削除画面

 public function delete()

 {

  $this->load->view('chat_delete');

 }

}

 

Controllerの改造の解説

これは全部CodeIgniterで用意されている機能なので、マニュアルを読めば使い方が分かるようになってます

 

Viewの改造

ファイルの内容を以下のように編集する。

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>

<!DOCTYPE html>

<html>

 <head>

  <meta charset="utf-8">

  <title>増田チャット</title>

  <base href="<?php echo base_url(); ?>">

 </head>

 <body>

  <h1>増田チャット</h1>

  <h2>新規投稿</h2>

  <form action="welcome/index" method="post" accept-charset="utf-8">

   <label>メッセージ</label>

   <input type="text" name="message">

   <input type="hidden" name="action" value="add">

   <button>投稿する</button>

  </form>

  <h2>投稿一覧</h2>

  <table border="1" cellpadding="5" cellspacing="0" bordercolor="#CCCCFF">

   <tr>

    <th>No.</th>

    <th>投稿日時</th>

    <th>メッセージ</th>

    <th>編集</th>

    <th>削除</th>

   </tr>

   <?php if(isset($talk)): ?>

   <?php foreach($talk as $item): ?>

   <tr>

    <td><?php echo $item['id']; ?></td>

    <td><?php echo $item['create_at']; ?></td>

    <td><?php echo $item['message']; ?></td>

    <td><a href="welcome/update/<?php echo $item['id']; ?>">編集</a></td>

    <td><a href="welcome/delete/<?php echo $item['id']; ?>">削除</a></td>

   </tr>

   <?php endforeach; ?>

   <?php endif; ?>

  </table>

 </body>

</html>

 

Viewの改造の解説

 

説明文が300行を超えてしまった!これ以上は増田で表示できない。)次回はメッセージの変更をやってみよう。

 


anond:20181104161900 増田プログラマー養成講座 その17 Webアプリの骨組み

anond:20181104233013 増田プログラマー養成講座 その18 SQLデータの追加と取得 ←★今ここ★

anond:20181110120715 増田プログラマー養成講座 その19 SQLデータ更新

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

無能ライフハック

こんにちは無能の皆さん。

僕も無能なので、落ち着いて聞いてください。そんな怒らないでください。

はい、今回は自分のことを「無能だ」と思っている。もしくは最近、「あれ、もしかして俺って無能???」って気づいてしまったメタ認知の少し高い皆さんが、どうやって無能なりに、この残酷資本主義社会を生きていくべきなのかについて語っていきたいと思います

まず無能が抱える問題はいくつかあります代表的ものとしては

コミュニケーション問題

協調性がなく、よく人に嫌われたりいじめられがち。

お金問題

自己投資してもしても、全く帰ってこない。

キャリア問題

キャリアをどうすれば良いのかわからない。

の3つでしょうか。それでは、最初は「コミュニケーション問題」についてです。

コミュニケーションできないやつはパターン化してすべて記憶せよ~

はいコミュニケーションとは相手のことを慮ったり、自分の考えていることをわかりやすく伝えることだったりします。

まあ、僕たちのような無能では自分の考えていることを伝えることはギリギリできても、それが相手にとって難しかったり、一方的に伝える形になり、相手に何も理解してもらえず、友達ができないというパターンがよくあります

自分が生きることに精一杯で相手の話とかも興味ないですしね。

ではどうするべきか。

パターン化です。「相手がこう来るときはこう返す、相手がこんな表情をしていたらこうする」をひたすら相手を傷つけたり、相手に怒られたりしながら学習していきましょう。

例えば、あなた彼女ガールフレンド)がいるとしましょう。そんな優しい彼女が、明日発表があって不安。「明日どうしよう」と話しかけてきました。そこであなたはどんな声をかけますか?

僕は無能なので「いままでやってきた成果がでるだけでは?やってなかったら無理でしょ。」という言葉をかけました。

そしたら、彼女にああいときには「頑張って」とか「君ならできるよ!」とか言ってほしかった」と言われ、結局嫌われ振られてしまいました。

無能な僕はここで、悲しいという感情を添付した経験値を得ます

「なるほど、明日不安という状況なら人は、『頑張って』とか『君ならできる』と言ってほしいのか。ふむふむ。」

こういう感じです。これを何度も何度も繰り返して人とのコミュニケーションパターン化し、暗記していきます

もう一つ例を出しましょう。

あなた部活動勧誘をしています。そして、あなたがやっている部活に適していそうな体格を持つ女子学生出会いました。

そこであなたはどのような声をかけますか?

僕は無能なので「君は体格が良いからうちの部活おいでよ!」と声をかけました。

すると、その女の子は大泣き。あとで先輩に呼び出され、死ぬほど怒られました。

僕はここでも学びます

「そうか。初対面の女性に体型のことを言ってはいけないのだな」と。

愚者経験に学び、賢者歴史に学ぶ

こんなことわざがありますが、僕たちは無能なので愚者です。しっかり経験から学ぶしかありません。頑張ってやっていきましょう。

今後のキャリアにも結びついてくる話ですが、最初キャリア職業を選ぶ選択肢として、無能は「社会規範」をボコボコに叩き込んでくれる会社とかがとても良いと思います

無能は考えられないので、体で覚えましょうという話です。

~「自己投資なんてするな!」お金問題

続いてはお金です。無能自己投資ができません。いくら自己投資したところで無駄になります。本を買っても読まない。英語勉強しようと大枚払っても、できない。どうすれば良いのか。

まずは、ひたすら貯金です。生活コストを下げ、ベッドタウンにすみ、できれば実家暮らししましょう。もしくは社宅があるなら社宅に住むのが良いでしょう。

満員電車が嫌だとかそんなことは無能は言ってはいけません。

なぜならあなた賃金は、会社からもらえる交通費よりも低いからです。

千葉から東京まで行ったら片道1時間・1000円くらいです。時給1000円です。あなた手取り15万円/月(月収20万)を働く時間で割ってみましょう。

あら不思議

150000yen/160h=937.5

時給937円ですって!交通費より安くなってしまいました。

まり電車で寝てるだけで1時間1000円もらえるわけです。素晴らしいですね。なので、無理して「東京に住んで、時間節約自己投資!」とか言わずに、おとなしく地方に住もうね。

そんで頑張ってためたお金自己投資なんかに回しちゃいけません。なんせ私達は無能なんですから

自己投資はやめて、あなたよりも1万倍くらい優秀なファンドマネージャーなどが運用する投資信託などにお任せしましょう。

もしくはあなたより1000倍くらい優秀な大企業社員さんが汗水たらして頑張ってくれているので株式投資でも良いと思います

キャリアについて「長いものには巻かれろ」~

先程からはなしている通り、無能自分の頭で考えることができません。ですので、体育会系フルボッコにしながら社会規範を叩き込んでくれる企業に行くのがベストです。

例えば、大企業とかですね。ノウハウがしっかりしているので、業務はつまらないながらもしっかり上下関係やその他を仕込んでくれるでしょう。

これは、どこにいっても役に立ちます

なので僕たち無能はイキってベンチャーなぞにいってはいけません。自分で考えて仕事を取りに行かなければならないからです。そうでないと一生仕事は回ってきませんし、何も得られません。

「長いものには巻かれろ」

ということわざがありますが、これはとっても大事なことだったということがわかりますね。

~まとめ~

最近フリーランス志向自己投資起業英語といった流れは無能には適していません。旧来の終身雇用制や貯蓄という概念こそ、無能がこの世を渡っていくためには適していたんです。最近グローバル化不景気によって旧来の価値観崩壊しつつありますが、できるだけこういう旧来の社会制度にすがって生きていければ、寿命は少し伸ばせると思います

頑張っていきましょう。

2018-11-02

クリームさえあればいいと言うけれど

 スイーツの中にはクリームがその体積の大半を占めるようなものがある。一部のロールケーキシュークリーム代表的な例だ。

これらを好む人の一部は「もはやクリームさえあればいい」、「クリームオンリーで食べたい」というような願望を抱くらしい。

そしてそれらの人々のうち更に一部はクリームを買ってきてそれを実行し、クリームだけで食べてもそれほど美味しくはないことを知る。

美味いだろうと期待して食べたのが、そうでもなかったのだから残念な経験だが、

この経験を通じて一見クリーム生地バランス崩壊しているような既存スイーツが実のところギリギリラインを見極めた絶妙ものであることを知ることができるという点では学びのある経験だともいえる。

 しかし、このような安易な学びのみを得て終わろうとは虫が良すぎる。

最初に抱いた「もはやクリームさえあればいい」という考えが軽率だったことを恥じ入るべきだ。

もっと賢明に「もはやクリームさえあればいいのではないか?もちろんそうでない可能性もあるが。」という留保付きの態度をとるべきだったと反省するべきだ。

クリームに関する失敗談として終わらせてはいけない。真に学ぶべきは自分の中にある軽率判断をしたがる精神を手なずけられていないことだ。

これを認識していなければ同種の誤りを繰り返すことになるだろう。経験を一歩抽象化するだけでいいのだ。クリームに関する経験から自らの軽率さに基づく失敗経験へと。

そうするだけで同種の考えが浮かんだ時にそれに疑念を持てるようになる。

 誰にも迷惑をかけていないのだからいいと考える人いるかもしれない。

かに一人でクリームを食べて気分が悪くなったところで構いはしないのだが、

軽率な考えは得てして軽率言動を伴うもので、それはときに周囲の人間を巻き込む。

自分の予想が誤っている可能性があると思っていれば自然言動に慎重さが伴い、他人への配慮も生まれるというものだろう。

2018-10-29

本当に学ぶべき情報を受け取った時

本当に学ぶべき情報を受け取った時、大抵の人はそれを自己否定と受け取り、怒り狂ってその情報自体を憎んだりするので、イラッとしたときは「これは何か自分に足りないことがあるに違いない」と注意深く状況を見守るのだけれど、「あのヒト全然怒んないっすね」とナメられ使われるだけ使われて終わる。

2018-10-28

増田プログラマー養成講座 その13 SQL文法

前回は、データベース参考書を見た。

今回は、DBで使うプログラム言語SQL」の文法を見てみよう。

 

リレーショナル・データベース(Relational Database、RDB)とは?

WikipediaRDB説明を見てみよう。

関係データベース(relational database)は関係モデルにもとづいて設計、開発されるデータベースである

関係データベース管理するデータベース管理システム (DBMS) を関係データベース管理システム (RDBMS) と呼ぶ。

Oracle Database、Microsoft SQL Server、MySQLPostgreSQLDB2、FileMakerH2 Database などがRDBMSである

 

関係モデルIBMエドガー・F・コッドによって考案された現在もっとも広く用いられているデータモデルである

データベース利用者は、クエリ(問い掛け)をデータベースに与え、データ検索したり、変更することができる。

 

データは表に似た構造管理されるが、関係と呼ぶ概念モデル化される。

関係は組(タプル、表における行に相当する)、属性アトリビュート、表における列に相当する)、定義域(ドメイン)、候補キー(主キー)、外部キーなどによって構成される。

SQLなどに代表されるデータベース言語(問い合わせ言語)を用いて、関係に対して制限・射影・結合・和・差・交わりなどの関係代数演算(集合演算を含む)ないし関係論理演算を行うことで結果を取り出す。

関係複数持つことも可能で、互いを関連させることも可能である

要するに、

 

SQLとは?

WikipediaSQL説明も見てみよう。

SQLエスキューエル)は、関係データベース管理システム (RDBMS) において、データ操作定義を行うためのデータベース言語(問い合わせ言語)、ドメイン固有言語である

エドガー・F・コッドによって考案された関係データベース関係モデルにおける演算体系である関係代数関係論理関係計算)にある程度基づいている。

 

SQLは、シークェルと読まれることもある。

これは、SQLの元となったデータベース言語が、IBMが開発したRDBMSの実験実装であるSystem Rの操作言語SEQUEL (Structured English Query Language)」であったことが由来である

SEQUEL (Structured English Query Language)」を略して「SQL」と呼んだらしい。

 

  1. 質問する、尋ねる
  2. 問い合わせ[クエリー]を行う

英語クエリーは、質問する、問い合わせる、という意味なんだね。

 

SQL3分

SQL説明するとき、3つのグループに分類される。

 

↑このページをよく読んでくれ。理解できたらSQL説明は終わりだ!!!

 

 

 

…というと、説明することがなくなるので、ちょっとまとめておこう。

このページの「表1●SQLDDLDML,DCLの三つに大別できる。このうちプログラマが最も多く使うのはDMLだ」という図を見てみよう。

 

という3種類に分けてる。順番に見てみよう。

 

DDL(Data Definition Language:データ定義言語

データベーステーブル、ビュー、インデックスユーザーなどを作成/変更/削除するときに使うSQL

これでデータベースを使う準備ができる。

  • 「CREATE」…作成する。
  • ALTER」…変更する。
  • DROP」…削除する。

 

DML(Data Manipulation Language:データ操作言語

データ操作するときに使う。いわゆる「CRUD」のことで、SQLのうち、このDMLを覚えれば、とりあえずRDBは使えるようになる。

CRUD(クラッド)とは、ほとんど全てのコンピュータソフトウェアが持つ永続性の4つの基本機能イニシャルを並べた用語

その4つとは、Create(生成)、Read(読み取り)、Update(更新)、Delete(削除)である

ユーザインタフェースが備えるべき機能情報の参照/検索/更新)を指す用語としても使われる。

 

この中で一番活躍するのは、「SELECTコマンド命令文)だろう。

SELECTは、いろんな条件を付けてデータを絞り込む/加工することができて、便利なんだ。(Excelなどの表計算ソフトよりも高機能

 

JOIN(結合)

RDBは「リレーショナル」(関係)という冠言葉が付いてることからも分かるように、関係がある表と表をくっつけて、データを加工できる。

表と表をくっつける操作のことを「結合」という。

SQLでは「JOIN」というコマンドを使って表と表を結合できる。

↑このページにある丸と丸が重なった図を見てくれ。この図は「ベン図」といって包含関係を示す図だ。図を描いて塗りつぶせば、欲しい部分が分かりやすくなるだろう。

 

結合の種類

表と表のつなげ方には、何通りかパターンがあるよ。

  • 結合は、「内部結合」(INNNER JOIN)と「外部結合」(OUTER JOIN)の2種類に分類できる。
  • 外部結合はさらに、「左結合」(LEFT JOIN)と「右結合」(RIGHT JOIN)と「完全結合」(FULL JOIN)の3種類に分類できる。

 

内部結合は単純だ。外部結合はちょっとややこしい。

外部結合は「LEFT JOIN」の形がよく使われると思うので、まず最初にLEFT JOINの仕組みを理解すれば大丈夫だろう。

(LEFTの仕組みを基準にして、RIGHTやFULLとの相違点を意識すれば、表のつなぎ方を間違えにくい?)

 

DCL(DataControl Language:データ制御言語

トランザクション」は、データ更新に失敗したとき、元に戻せる機能だ。(安全装置

  • 「COMMIT」…更新処理の確定
  • 「ROLLBACK」…更新処理の破棄

 

言葉だけだと意味が分かりづらいと思う。

Google画像検索で「トランザクション」を検索して、分かりやすそうな図解を探してみよう。

↑このページの「図1 処理失敗による不整合の発生」を見てみよう。

 

銀行で口座間の送金を考えてみる。Aさんの口座からBさんの口座へ50万円送金したい。

  1. Aさんの口座から50万円減らす。
  2. Bさんの口座に50万円追加する。

この2つの処理が両方とも成功しないと、送金は失敗だ。(Aさんは送金できてないのに貯金が減ったら怒る。Bさんは送金されてないのに貯金が増えてラッキー!)

AとBの両方が成功したら更新処理を確定する。AとBのどちらか、または両方が失敗したら更新処理は破棄してなかったことにする。(やり直し!)

これがトランザクションだ。

 

クレーム対応難易度

ちょっと話がそれるけど、トラブルの重大さ=クレーム対応難易度について考えてみよう。

  1. 人身事故 …人命にかかわる事故は取り返しがつかない。文句も一番キツイ絶対ミスがあってはならない分野のシステム開発はなるべく避けよう。
  2. 金銭絡み …(命の次に)お金大事という人は多い。人は金の話になるとシビア文句も強烈だ。決済など金銭絡みのシステムでは、RDBトランザクションを使おう。
  3. 上記以外 …その他のクレームは、それほどハードではない。匿名掲示板とか、どうでもいいゴミ情報投稿されるシステムなら、トランザクションは使わなくてもOKだろうw

 

DB管理ツール

ここまで、SQLRDB操作する方法について話した。

RDBは、SQLコマンド操作するだけでなく、DB管理ツールを使って操作することもできる。

DB管理ツールについても知っておこう。

 

この講座では「phpMyAdmin」というDB管理ツールで「MySQL」を操作した。

他にも、Google検索で「DB 管理 ツール GUI」などで探してみよう。商用だけでなく無料でも便利なソフトがたくさんあるね。

 

など。

 

SQLパズルだ!

SQLを駆使すると、欲しいデータをホイホイ取り出せる。

SQLコマンドを組み立てる作業パズルのような要素もあるので、遊びだと思ってSQLに取り組んでみて欲しい。

SQL パズル」でGoogle検索すると、いろんなテクニックが紹介されているので、時間があったらチャレンジしてみよう!

 

SQLの話は、それだけで1冊の本になるぐらい広範だ。今回は、SQL概要説明するだけになってしまった。

SQLの詳細については、前回紹介したSQL参考書などを読んでみてね。

 

まとめ

 

次回は、データベースを使ってWebアプリを作ってみよう!

データベースって便利だな~~~!!!」と実感して欲しい。

 


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:20181024214133 増田プログラマ養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマ養成講座 その12 データベース参考書

anond:20181028152656 増田プログラマ養成講座 その13 SQL文法 ←★今ここ★

anond:20181031014212 増田プログラマ養成講座 その14 Webアプリの試作品作成

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

2018-10-26

増田プログラマー養成講座 その12 データベース参考書

前回は、MySQLphpMyAdminを使って、リレーショナル・データベースRDB)を少し触ってみた。

今回は、RDBの使い方や仕組みについて理解を深めるための資料を探してみよう。

 

本は、買う価値のある本と、買わなくてもいい本の2種類があるね。

  • 買う価値のある本:何度も読み返す本。
  • 買う価値のない本:1度読んだら終わりの本。(図書館で借りる。図書館にない場合は買う。読み終えたら古本屋などに売却)

どちらの本かは自分判断で決めよう。(1度で理解できない本は、何度も読み返すことになるだろう。)

 

初めてRDBを使う人のためのガイダンス

本書は,新人エンジニアデータベース全般について勉強したいとき最初に読む本です。

データベースに関する知識を広く浅く網羅的に紹介してた。

最初に読めば、DB全体を俯瞰する地図を手に入れたようなもの。その後の見通しが良くなる。

 

入門書(初級レベル

本書はMySQLをはじめて触る方を対象として,開発環境の準備からSQL基本的な書き方,PHPによるWebシステム開発まで,図解でわかりやす解説します。

MySQL入門書カラフルな図解が分かりやすい。

まずは、データ操作の基本「CRUD」(Create=追加、Read=取得、Update=更新Delete=削除)を理解しよう。

CRUDが分かれば、DBを使ったWebアプリを作れる。→ここがIT土方の最低レベルだぜ!

 

豊富な図解とていねいな解説により、やさしく・楽しくデータベースSQL学習できる入門書です。

本書は、データベース操作する問合型言語SQL」の文法練習できる。

SQLが読める&書けるようになれば、RDBを使ったプログラミングで苦労しなくなる。

 

 

 

上記2冊の入門書程度の知識を身に付ければ、RDBに関しては初心者から脱却できるはずだ。

RDBを使うプログラムを作るなら、まずはこの程度の知識クリアしておけば、十分だろう。


次の段階では、既存DBを使うだけでなく、「ゼロからDB設計、構築してくれ」と頼まれるようになるはずだ。

時間があったら、DB設計スキルを身に付けておこう。

(以下の話は、今の段階では無視してもOKRDBにある程度慣れたら読んでみて!)

 

 

 

ミックさんのDB

データベースの本はいろいろあるけど、「ミック」という人が書いた本はRDBの要点がまとまってるので、なるべく早い段階で一通り目を通しておくことをお勧めする。(ミックさんの本は買って何度も読み返してる。)

 

DOAデータ中心アプローチ

RDB設計方法はいろいろあるが、古典的手法として「DOA」(データ中心アプローチ)がある。

なぜこの古臭いDOAが、今でも重要なのだろうか?

DOAと、他の「OOAObject Oriented Approach:オブジェクト指向アプローチ)」「POA(Process Oriented Approach:プロセス中心アプローチ)」を比較した図を見てみよう。

OOAは、言い方を変えれば、

[ユーザー] ←→ [プログラム] ←→ [DB]

という流れになっている。

まりユーザーから見ると、間にある[プログラム]は、[DB]を包んでいる「ラッパー」でしかない。

=[DB]のデータ構造スキーマ)さえシッカリしていれば、間にある[プログラム]は取り替えてもあまり困らない。

 

RDBを使うシステムなら、DB設計プログラム設計よりも重要になる。

(後で[プログラム]を変更するよりも[DB]を変更する方が影響は大きい)

から今日でもDOAは十分に役立つ手法だと思って理解して欲しい。

 

DOAは、ざっくりと3ステップでやる。

  1. 分析会社業務などを分析して、データCRUDが発生してる所を列挙する。
  2. 論理設計データ間の関係分析して、「ER図」を作る。
  3. 物理設計ER図を基にして、DB設計する。

慣れたらER図を書かなくても、頭の中で思い浮かべるだけでもテーブルを作れるようになる。

 

最初DOAを知っておけば、今後他の設計方法を使うときでも、比較検討基準として使えるので、損はないはずだ。

それでは、DB設計の本を見てみよう。

 

DB設計(中級レベル

初級者が押さえておくべきDB設計の基礎知識ポイント正規化非正規化のケーススタディテーブル設計のやってはいけないバッドノウハウ、注意すべきグレーノウハウなどを丁寧に解説します。

DB設計入門書。著者はミックさん。

DOA正規化階層構造木構造)のデータの扱い方など、DB設計の基本を網羅的に説明している。

 

現場で使えるアイデアが満載 デキるDBエンジニアになろう!

私が設計スキルを付けるために実際に行ってきた「身の回りのものを題材にERDを書く」という方法サンプルを今回は8種類書き下ろさせていただきました。

手前味噌ではありますが、本書をお読みいただき実践していただくことで「実務で具体的に手が動く」というレベルに達していただけると考えています

DB設計入門書

DOAの考え方、ER図の書き方などが説明されている。

 

RDB理論上級レベル

RDBSQLは「関係代数」という数学が、その基礎を支える理論になっている。

関係代数」などを解説

RDBを改造したり、自作したくなったら、RDB原理を知っておきたい。

この手のコンピューターサイエンスの本って、難しくてつまらない本が多いけど、この本は図解が多くて、珍しく分かりやすい本だったw

 

ネット

本の情報は、出版された瞬間から陳腐化が進む。

最新の情報は、ネット確認することができる。

 

公式サイトオンラインマニュアル

自分が使うデータベースマニュアルは最も基本的な1次情報になるので、不明点があったらまず確認するようにしたい。

など、公式サイトオンラインマニュアルをチェックしておこう。

 

ミックさんの解説記事

ミックさんは、ネットでもDB技術論の記事を公開されており、参考になるかも?

(↑無料Webサーバー「Yahooジオシティーズ」は2019年3月閉鎖予定なので、読むなら今のうち?)

 

階層構造になっているデータカテゴリー情報など)をRDBに保存するとき、主なやり方が3通り紹介されてた。(上記の本でも紹介されてる)

  1. SQLで木と階層構造データを扱う(1)――入れ子集合モデル
  2. SQLで木と階層構造データを扱う(2)――経路列挙モデル
  3. SQLで木と階層構造データを扱う(3)――入れ子区間モデル

自分は(2)の「経路列挙モデル」が分かりやすくて、いつも使ってる。

 

…という具合に、ネット上の公開記事にも参考になる情報がたくさんあるよ。

(ここまでの説明URLを9個張ってしまったので、もうこれ以上URLを張れない。><

他にもGoogle検索などで役立つ記事を探してみよう!(唐突な締めw)

 

NoSQL

データストア(データを保存する道具)は、RDB以外にもいろいろある。→「NoSQL」とか呼ばれている。(自分検索してみてw)

RedisHadoop、ElasticSearch、OpenStack…いろいろな道具が発明されてるね。

RDB以外のデータストアを使うときでも、RDBと相違点を比較しながら学べば、取っ掛かりが持てて、理解スムーズになるだろう。

RDBは、知っておいて損はない。使いまくって、体得しよう!

 

まとめ

RDBSQLパズルみたいなものから、楽しんで学んで欲しい。

 


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:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう

anond:20181026145516 増田プログラマー養成講座 その12 データベース参考書 ←★今ここ★

anond:20181028152656 増田プログラマー養成講座 その13 SQL文法

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

2018-10-21

anond:20181021164451

いい話じゃん

すべての話がなにかの結論示唆に富んでなきゃいけないわけでもないぞ

ただ、この元増田は十分に学ぶべきところあるけどね

しかできないことは下手でもいいから後悔しないようにやっておこうってことだろ

別に親孝行に限らず全てに当てはまるんじゃねーの?

2018-10-20

anond:20181020163346

途中で投げ出しつつはや10年。学んだ労力の割に得るものが、少ないよ。。RかPythonも学びやすくなったかな。

最初に学ぶべきプログラミング言語」は?

http://b.hatena.ne.jp/entry/s/mizchi.hatenablog.com/entry/2017/02/05/221238

(やれるようになってから。あ。これは、人がやっちゃ行けない仕事だなって、単調作業やらせたことはあるが、そんな作業、なかなかないわ。)

2018-10-16

楽天ブックス電子版の書名

書名が、紙版と電子版で統一されてない。

Vue.jp入門」で、紙版の書名は「.」が全角なのに、電子版は半角。

日経Linuxリナックス)」で、「()」が紙版は半角なのに、電子版は全角。

電子版では「やさしく学ぶ 機械学習理解するための数学のきほん アヤノ&ミオと一緒に学ぶ 機械学習理論数学実装まで」なのに、紙版では「やさしく学ぶ 機械学習理解するための数学のきほん」。

違いも規則性がなくて、バラバラ

しかしたらパートみたいな人が、手入力データを打ち込んでるのかね。

anond:20181016091017

テクノロジア魔法学校(割とガチ

グラフィック系の処理を主に学ぶので、普通に増田カバーしている範囲を強化するのに役立つだろう。

2018-10-14

プログラムを学びたい

初心者です。

教えてください。ここにはプロがたくさんいらっしゃるようなので。

子供四年生python?かSwift?をいっしょに学ぶのにオススメ参考書とかサービスはございますか?

図書館に行って借りてみましたがレベルが高いようでした。

私はアラフォーなのでウィザードリィとか作りたいなーと思いますが、そもそも違ってきますよね。

なお、子供スクラッチやってますがよくわかってないながらやってます

マック持ってます。買い替えの時期かなとも思っています

どうかお知恵を拝借させてください。

アプリゲーム作ってみたいです。

的外れでしたらすみません

2018-10-11

学問価値を求めること

キズナアイ話題フェミニズム議論から文系学問議論へと移ってきてるの面白いけど、

理系価値がはっきりわかりやすいけど、文系価値基準がはっきりしないか大学必要ないんじゃね、趣味の延長だろとかい人達がまだまだいて頭痛い所。

そもそも彼らの言う「価値」とは誰のための価値を指しているのか?少なくとも自分から見えない価値じゃ存在する価値なんてねーだろといっているようにしか受け取れない。

理系でも基礎科学というすぐに応用につながるわけではないけど、研究知識の積み重ねが凡人ではわからない/見えない範囲でいずれ社会に役立っていく分野がある。

同じように文系概念知識にたどり着くのに長い積み重ねがあり、その過程学問として体系的に学ぶことで得られる知見があるから学ぶ人間もいるわけなのだが。

そもそも理系文系わず、何かを学ぶことに対して、私的価値が見出せないから役立たずと一蹴する姿勢はどうなのか。

すぐに役立つもの価値がはっきりと解るもの学問に求め続ける利己的な姿勢を改めなかった結果、日本大学教育研究が今衰退しているのではないのか。

2018-10-08

anond:20181008234059

おそらくオタクというのは特定の偏りがある、その特定の分野は網羅しているという前提があるのだろうけど、

当然その分野の中でも偏りが生じるものから許してやってよ

あっちもあなたより深く話せるものあるはずで、それは学術世界では軽視されるようなものなんだけど

趣味世界では「体系的に学ぶべき」なんてないから、オタクはそれでいい、というかそれこそがいいのだよ

2018-10-07

お前らって本当に厚顔無恥だよな

ついこの間はてな民Vtuber知識ガバガバであることが暴露されたばっかなのに

まーたvtuberについて一言言おうとしてんのか

しかもお前らのコメント、まぁたガバガバ知識コメントしてやがるな

あのな知識無い人間しかいないから指摘されてないだけで浅い知識で書いてあることバレバレだぞ

流行りの話題に半端な知識でいっちょ噛みしようとすんのやめようや

ってのは前回の事例で学ぶべきことなんだけどな

愚者経験に学ぶという言葉があるけど、経験からすら学べないお前らってホント厚顔無恥の猿なんだな

あとそれに星付けてる連中もしょうもない

ワイドショー見て離婚した芸能人話題で盛り上がってる連中とメンタリティレベルだな

賢くもない人間が何かを馬鹿にして賢しらぶる遊びはいい加減に終わりにしませんか

在日特権!」とか「真実に目覚めた!」って言ってる人達と同じ遊びですよそれは

2018-10-02

外国学生日本大学生が勝てるわけないやん

日本大学生会社入ってから業務必要スキルを身に着けるって流れ

外国学生仕事を決めた上で必要スキル学生時代に学ぶ

そもそも教育システム就職事情が全く違うからスタートラインも違う

人としての能力に差があるわけじゃないが、スキルには大きな違いがある

当然なんだよ

それを新人教育に金使いたくないイキった会社外国学生は有能だとか言い出して採用を進める

アホかと

そうだと分かってたら最初からこっちだってそれを前提に進路決めるんだよボケ

2018-09-29

大学行く必要ないなら、高校もっと行く必要ない

高校卒業者のいったいどのくらいが、中学卒業程度の知識を持っているのだろうか?

有名人テレビネット発言しているのを見聞きするたび、半分もいないだろうと思う

そもそも日本語すら覚束ない人も多い


高校勉強させられることと言えば、三角関数、数列、ベクトル微分積分

運動方程式、気圧と温度と体積の関係式、絶対零度遺伝法則などなど



高校レベル三角関数を知っていればメルカトル図法問題点理解できる


運動方程式を知っていれば映画ウソが気になって夜も寝られない

e.g.東野圭吾原作映画で、ヘリから落下した子どもを追って自衛隊員が降下する

当然追いつくはずはないのだが、なぜか雲の中で追いつき、

パラシュートを開いた隊員が子どもを抱いて、雲の中から出てくる


しかしこのようなことが就職する際求められるかといえば、そうではないだろう

しかのみならず、高校でも中学校と同様に「正解」に縛られる窮屈な世界

同じ中等教育なのに、なぜわざわざ後期中等教育課程を積極的に学ぶ必要があるのかを論証する必要がある

噂のオリンピックボランティア募集サイトを触ってみた

暇だから触ってみた。普段仕事と比べて得る知見も多かった。

成功例より失敗例のほうが圧倒的に学ぶものは多いと言う人がいるがなるほどその通りかもしれない。

2時間ほど触ってみてメモを兼ねて気になったことを書いてみる。

なお、私はメインはサーバーエンジニアであってそこまでクライアント側には詳しくなく、

javascriptjqueryなら結構使えるとかのレベルで近年のjavascriptは詳しくない。

デザインセンスはそんなにない。

後試しているブラウザChromeである。他のブラウザでも試すほどの気力はない。

おそらくもっと詳しい人ならこれ以上のべからず知見をあのページから叩きだすのではないか

(そういう人はこういうごみページ触るのは無駄作業と思ってはなから触らないかもしれないが)

応募する前から敷居が高い

まず、最初のページ

https://tokyo2020.org/jp/special/volunteer/

から

大会ボランティアに応募する」のリンクボタン(でかっ、でかすぎる)をクリックして

https://tokyo2020.org/jp/special/volunteer/method/

のページに飛ぶ。

このページは応募前の事前説明みたいなのだが、開いてみるとすぐに実に目を引くリンクボタンがある。

「応募を考えてくださっている皆さまへ」

目を引くので押してみると目的の応募ページではなくポエム表示ページに飛ぶのである

https://tokyo2020.org/jp/special/volunteer-message/

そしてその耐えがたいつまらないポエムを読んだ後やっと下にはなぜか妙に小さい文字リンク

大会ボランティアに応募する」のリンクがある。

やっと応募できるのか思ってクリックすると、なんとさっきのページに戻りでかでかと

「応募を考えてくださっている皆さまへ」を見る再び羽目になるのである

応募を考えてくださっている皆さまへ→大会ボランティアに応募する→ループで遊べる。

…うれしくない。

リンクボタン無駄に大きいと圧迫感があってよくないので大きさは必要な大きさをよく検討無駄カラーで広げるな」

と怒られたことが私にはあるが、これを見てなるほどと思わざるを得なかった。無駄にでかいボタンは確かに逆効果

しかもその問題リンクボタンはメインの目的(応募ページに飛ぶ)ではないのである

本来目的ボタンより目立つボタンがあるのは画面構成として大きく間違っていることを知った。

そもそもトップページ・つまらないポエムページ・事前の応募説明の各ページに

大会ボランティアに応募する」のリンクがあってそれぞれ飛んでいくページが違うというのも…。

後、リンクボタンの大きさの基準が全く分からないのもあれである。さすがに一つのサイト内では統一したほうがいいと思うのだけど。

応募する前にログイン

上記の「応募を考えてくださっている皆さまへ」のある縦に長いページの一番下に今度はやたらでかく

大会ボランティアに応募する」

リンクボタンがある。

(でかいから目立つと言いたいが一番下にあるし上の方に同じくらい目立つ「応募を考えてくださっている皆さまへ」があるから無意味である。)

それを押して応募作業を始めてからも壁がある。

ログインを求められるのだ。Googleアカウント(私にはAndroid携帯パスワード忘れた捨てアカウントしかない)

Facebookアカウント(持ってない)Lineアカウント(持ってない)

そんな化石のような私はどうするのかしばらく悩んだところ、下に小さく

「初めての方はこちら ■ 新規登録 ■」と書いてある。

これはなんだろう。上記3アカウントをホイホイ提示できる人しか相手にしていないんだろうか。若いはいざ知らず、爺さんばあさんは持ってないだろう。

化石にとって応募の壁は高い。

新規登録で先に進むとメルアドを教えろやコラァと怒られてやる気がつきそうになる。

やむなく捨てアドコピーして貼り付けようとしたらメルアドコピペ禁止の鬼仕様

パスワードコピペ禁止はわかるがメールもかよ…。

もちろん私はロボットではありませんの写真選択チェックも完備

最初から不適合者のそぎ落としにかかっている。これは応募ではなく奴隷の耐久試験なのではないかと思った。

もう一つ、このサイト新規登録をしたら取消せない。ログイン情報を取り消すことが出来ないのだ。

その辺の詐欺サイトならともかく公的サイトでこれとは…認識が甘かった。

やってはいないが、おそらくGoogleFacebookLineアカウントも同様だろう。

悪いサイト実例を見て学ぶとかいう殊勝な理由でこのサイトを触る気なら他に使わない本物の捨てアドを使うことを勧める。

本気で応募したい人は別に止めはしないがこのサイトを勧める気にはならない。

このサイトでやるよりはそのうちみんなの会社に来るであろう企業徴兵に応募したほうが幾分かましだと思う。

やっとログインしてから

まず推奨ブラウザ哀愁を誘う。IE11以上って…IE11までしかないですやん。12…ないよね?

背景が青の白文字なのも意味が分からない。カラフルにしたかったのだろうか。

白文字はラベル的にアクセントをつけたりボタンカラフルにしてボタン文字を白にするといった使い方をするもんだと思っていたが、

白文字が基本のサイトって初めて見た。

ちなみに水色のボタンがあるステップぶっちゃけSTEP4や5の削除ボタン)もあり、

背景の青なことが災いし微妙コントラスト特にそのSTEP違和感バリバリである

ボタンに色を付けるほど背景には気を使わないといけないようだ。

細かく言うと、その機能さらに追加ボタンと削除ボタンがセットで一個でも項目を追加すると削除ボタンアクティブ紫色になり)

上限まで追加するとさらに追加ボタンが水色になる。紫色は押せる・水色は押せない(disable)扱いのようだ。

努力は多少認めるけど方向性と画面設計をかなり間違っている。

やはり背景は白か色を付けるにしても薄い白っぽいカラーリングに限ると思った。

さあ国籍入力

最初突撃した先駆者レポート国籍すら選択しなきゃいけなかったと悲鳴を上げていたが、さすがにやばいと思ったのか

私の登録時は初期国籍日本になっていた。

選択肢を見たら…なるほど初期選択じゃないと日本なんて選択できないわこれというレベルだった。

いろんなサイトを見ているが、これだけのプルダウンは初めて…嫌になるよな。

細かく見ると、実は日本入力候補を絞り込めるようである。おお。凄い。

国と入力すれば国が入る選択肢だけに絞り込まれるのである

でも説明がないとプルダウンに日本入力をしようとする人は少ないだろう…。

ちなみに国の選択は「国籍」「上記以外の国籍」「居住国(STEP2)」の三つある

(まあ上記以外の国籍必須じゃないが…)絞り込みに気づかないとかなりの苦行。

居住国は初期空欄の上に選択必須である

カレンダー

私が驚いたのはほかにもあるが、最初突撃レポートを出した先駆者作業で最も衝撃的な画像NaNで敷き詰められたカレンダーであろう。

今(9/29:0時時点)でも再現する。方法簡単で生年月日かパスポート期限日を一度入力する。

→再度選択する。これだけである。ほぼ間違いなく日付をDDMMYYYY形式認識してそれをYYYY年MMDD日に表示しなおしているが、

その変換した日付を認識できないのである。それであの破壊力抜群のNaNカレンダーを見ることが出来る。

その状態カーソルを外そうものなら日付がでたらめになってしまい再入力である

もしやと思い、英語に変更してカレンダーを動かしてみたらビンゴ!だった。英語では問題事象は起きないのだ。

こいつらひょっとしたら英語しかテストしてねえな…。英語でもしてなかったりして。

ちなみに恐ろしくどうでもいいことだが、誕生日1900年以降を入れないと保存できないようにチェックがかかっているが、

パスポート期限日は1400年1月1日でも保存できた。

申請する気はないがしたら何となく申請もできそうな気がする。

まあ、そんなでたらめを入力する私みたいな不埒者は応募しても落ちるだろうから多分問題はないだろう。

さすがにNaNカレンダーはそのうち連中が直すと思う(直す…よな?)ので見たい人は早く見ておくとよい。

私にはよくわからない入力

私は年配者向けのサイト運営仕事にしているのだけど、私のところの客さんは縦に長いのを嫌う。

スクロールが嫌みたいだ。

から私は技量がないなりに項目入力の幅には気を付けて

短い項目は1行に二つとかやって少しでも入力欄を縦に長くしないように努力する。

そういう発想で普段仕事をしている人間からすると、

はい・いいえのプルダウンで一行丸々使うというのは驚愕の発想である

他にも、ユニフォームサイズ選択というのがあり、

トップスボトムズ・靴・帽子でそれぞれラベル・プルダウン1行の計8行使うが

私ならトップスボトムズのラベルプルダウンで1行・残りで1行の2行かラベルとプルダウン分けても4行にする。

仮にスマホでその幅じゃ収まらないとしても

レスポンシブサイト用のフレームワーク使ってれば仮にスマホの幅になっても調整間違わなければそれなりに表示してくれる。

何よりパソコンのフルサイズ表示ではいいいえのプルダウンで一行とかはないだろう…。

国籍だって長い国名にも限度があるのだから長さ半分でいいと思うしそういう謎なプルダウン幅が多すぎて不思議である

はいいいえを選択する際の右の異常に長い空欄が私には物悲しく思えるのだ。

このサイトがプルダウンだらけなことがあり正直一番私が気になってイライラした点はこれである

でもSTEP4では短めのちょうどいい幅のプルダウンを横に並べていたりもするし、

正直何を考えているのか。(まあ、行追加処理の方は1行のほうが実装に都合がいいからこの部分だけちゃんと幅合わせしたんだろうけど…)

エラーメッセージ

エラーチェックでエラーになるとポップアップが表示されるがこれがなかなかうざい。

その辺のプラグインを使ってもエラー修正すればエラーメッセージが消えるご時世でわざわざ×ボタンを押してエラーメッセージを消さないといけないのだ。

びっくりだ。私のつたない技術でさえそれはしないと言い切れる。

例えばこのサイトスポーツに関する経験入力欄は200文字である

試しにああああああを連打して200文字以上入れてみると困った事象に出くわす。

文字数の上限を超えていますメッセージが画面中に出るのだ(一つではない、おそらくオーバーした文字数分)

電話番号で0連打でも同じことになる。面白く…はない。ぼーっとして押してると大量のエラーポカーンとすることになる。

そしてすべてのエラーメッセージを×ボタンで消していくことになる。

まあエラーを直して保存ボタンで保存して再描画しても消えるが…。

私は今でもおそらく現時点だと古臭い部類に入るだろうjquery.validateを使ってたりするが、

あれで結構便利でありそんなに考えて実装しなくても決してこんな実装にはならない。不思議だ。

このサイトはReactを使ってるみたいだが、Reactにだってそういう部類のバリデーション実装は多分あるだろうになぜこうなったのだろうか。

最後

私だけでなく多くの人があのサイトダメ出ししているが、本当に使えば使うほどダメサイトである

写真提供して申請してさらに先に進めばより魅力的な魔境が待ち受けているのかもしれないが残念ながらそこまでする気にはなれなかった。

良いところはReactを使っていること…くらいではないか

ログインページのロゴから推察するにAtosがこのサイト責任企業になるんだろうか。

どれだけAtosやその他関係者中抜きしたり下流に放り出したりしたか知らないが、億くらいの金はかけて作ったのでしょう?

もうちょっと責任もって作らない?下っ端企業が100万程度で作ったサイトだってもう少しちゃんとチェックする(というか実装を求められる)よ。

ちゃんとした企業なら1000万~2000万も出せばこれと同一内容でよりレベルの高いサイト提供するんじゃないの。

最後に、私の感想上記だが、話題になっているので私と似た目的でこのサイトを触っている人もいると思う。

もしよければ感想増田でもブログでもいいので書いてみてほしい。

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