「set」を含む日記 RSS

はてなキーワード: setとは

2019-01-24

anond:20190123211941

ワイはどの学問素人から分からんけど、ベイズであろうが頻度であろうがどっちでもよくて、

要は、扱っているデータの種類が異なる気がするんよな

経済学の方は順列データ時系列)で、医学の方は集団データを扱うことが多いんでないか

まり、玉袋から玉を取り出したとき、出た玉の順番まで気にするのが経済学で使ってる統計学で、

順番までは気にしないのが医学で使ってる統計学

英語で言うたら、series か set かの違いやね

2019-01-21

Life ended without knowing what I want to do.

I always ran away from a childhood.

My parents taught me to say "Yoshie" to myself who are only looking at the neighboring children playing from where they are playing. It means that if you write in kanji "wanna be", I want you to put it in a group. At last I never said it.

I was just playing inside the house. I did not get bored because the books and games were given as such. Although I was only watching TV when I was doing animation or special effects, I did not get interested in dramas and song programs.

Kindergarten and elementary school were pitch dark jungle. There are lurid animals lurking around, and it gets bitten when it gets out of hand. They are laughed at by "friends" who do not know their faces and names, are faced with confusion, have remembered remembered.

Because I do not know what will come up in the classroom, I wandered around the school looking for a hiding place. I was afraid to blink because I do not know what to do if my eyes are closed.

When I went to public middle school as it is, I decided to pursue an advanced school at my parent's discretion that he must be killed. I did not know exactly what the school was going to do, but as a result of trying hard as I said, I caught somewhat over there.

I do not know whether public was a good because I do not know public. The classmate was still a flock of beasts, but there was no prominent bad group. There was a big library, so I arrived at the vacant time. The secondhand bookstore in the way back was also a favorite place. It took about an hour from the house by bus, but it was exactly good to read a book and sometimes got over it.

Although it is an advanced school that entered with great difficulty, I do not remember having worked hard on my studies. During the class we did nothing but graffiti in the textbooks and drew the accumulated delusions in secret notes. Although I had the opportunity to choose club activities after enrollment, I was told that my partner in the department I tried to join was left with a promise for the first time as it was. Since it was consistent in middle and high level, there was no break and only the number of the grade increased.

Although I heard that it seems that they will go to university after going out of high school, I did not understand the mechanism of the exam and so on, so I did not distinguish between the mock test and the center exam. Because I was not particularly conscious of which university I wanted to go to, I received the appropriate undergraduate properly for my grades.

I went to the national state of the neighboring prefecture and got a remittance and started living by my own apartment. It was quite a city compared to the mountain and the rural family of the rice fields, but the main use was Super, Hundred Hundred, and a secondhand bookstore old game store. I was thinking only how to live within a given amount of money without doing a part-time job.

Every lecture was interesting, and the library was big. I also touched on computers and the Internet for the first time. However, it was only in truics that gathered up, and I did not know what to aim for.

People around me were no longer beasts at this time, but I could not feel like approaching from myself. Some people call me out and I also tried circle activities, but eventually I did not last long for any relationship. It seemed to be crushed by a feeling of disgust for myself who flew in association with people and inferiority complex to a person advancing with dreams and goals.

The graffiti of the note was continued, but the more I wrote the more I could show my emptiness. The setting and design I thought was original was only imitation of someone. Both love and ideal were words alone, I did not believe anything.

While taking a stroller while taking a unit, I could not write a thesis. I can not think of any theme I want to study. I could not see anything I wanted to do, I should do, I could do nothing. I knew there was no head like I could go to the hospital and I could not do anything that could help society with what I learned.

I smuggled without meaning suddenly in my assigned laboratory, graduated after two years of retirement. I submitted a graduation thesis that just briefly gathered texts gathered with books and the net as it was given to the professor, and escaped to my parents house.

Because I can not just stay in bed at home, I started job hunting, but there is no reason to find a company that only has a college graduate title, there are companies that hire people who do not even know the jobs that I want to do but I do not know. I decided to work hourly as a food warehouse in the neighboring town according to the advice that it is good anywhere as it is supposed to work after trying it. It was supposed to be for the moment, but it has been ten years as it is.

Physical labor was painful but I got used to it for years. Basically it's not necessary to use your head as it just moves boxes according to written numbers. There are people in the surroundings, but there is no talk except a morning greeting and trouble report. Many boxes are shipped everyday, but the buyer knows only the name written on the label. I just keep carrying boxes.

The salary is also about that, as it is a job that also works for student part-time jobs. Thanks to my hometown my savings were somewhat sad, but if there is a big expenditure due to sickness etc. it will easily be erased. I should have searched for another job, but I could not move my mind if I thought that I could do other work for myself struggling even such an easy job.

There is no dissatisfaction with the daily life itself. I do not have to worry about eating and if I am playing games with candy at home if I have stress on work I can solve it. There is no reason to stick to clothes and grooming as I never see anyone outside the company. Especially there are no places to go and nobody wants to see. I do not drink it, do not hit it, do not buy it.

It turned 40 years old. Although I told you to be a fairy when I was alone after passing 40, this may actually be such a fairy town. Instead of struggling, new things do not happen. Like a light rainy afternoon, quietly just waiting for the night.

This week was a similar week as last week. It will be the same next week. Every day next month and next year, days that do not change will continue. In the meantime parents fall down. And then. There is only a big event left in life anymore.

I think that my life has already ended. I am not dead alone, I am not alive. You can set as many small targets as you want, but it will never lead to something else.

Even though I thought what I wanted to do, I did not understand it after all. I feel a little sad when I think that it is born empty and die empty.

 

2018-12-14

C#Classについて知ってる人教えてほしい

VisualStudioローカル動作するアプリを作ろうと思ってるんだけど

本当に初歩的なことかもしれないことが分からない。

class」というやつについてだ。

XXXXX.csというファイル内にそいつは居るんだが、

そいつの中には複数classさんが存在してもいいのか?SAVACLASSとLOADCLASS存在しても良いのか?

namespaceって何だよ。名前空間意味分からん


public class Person
{
    public string name { get; set; }
    public int age { get; set; }
}
public class Office
{
    public string name;
    public ObservableCollection<Person> persons;
}


private Office office;
private void init()
{
    office = new Office();
    office.name = "オフィス";
    office.persons = new ObservableCollection<Person>();
    office.persons.Add(new Person { name = "001", age = 11 });
    office.persons.Add(new Person { name = "002", age = 22 });
    office.persons.Add(new Person { name = "003", age = 33 });
}

上記って全て同じCLASSファイルに置いていいの?

OFFICEという属性にはPARSONというものが集まってて、そのPARSONの情報にはNAMEAGEがありますよ!というのは分かるんだけど

1から書けといわれたらちょっとからなくなる……

シリアライズも、デシリアライズも、「圧縮解凍」みたいなイメージしかないし

うーん。難しい。

クラスって何なんだ。VBA風に説明できる人いない?(VBAでもClassは使わずにFunctionとSUBだけ使い回してた)

2018-11-10

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

前回は、Webアプリの骨組み(スケルトン)に、SQLデータの追加と取得をやりました。

今回は、SQLデータ更新をやりましょう。

 

メッセージ更新

 

編集ページにジャンプするリンク

前回作ったメッセージ一覧に、[編集]のリンクも入れておいた。

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

という1行の部分。

[編集]をクリックすると、編集用ページにジャンプする。

ブラウザーHTMLソースを見ると、以下のようなHTMLになってるはず。

<td><a href="welcome/update/2">編集</a></td>

これは「メッセージID番号が2」を対象にして、編集ページにジャンプすることを意味する。

 

Controllerの改造

編集用ページのコントローラーを作ろう。

「http://localhost/waf/welcome/update/2」というURL編集ページにアクセスしたら、メッセージID番号の「2」を受け取れるようにしたい。

URL文字列を処理して「2」を取り出せるようにしよう。

 

// 更新画面

public function update($id = '')

{

 echo "ID=".$id;

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

}

 

CodeIgniterでは、URLから文字列を取り出す方法がいくつか用意されている。

  1. 「update($id = '')」のようにメソッド引数「$id」を用意すれば、「2」の部分を取り出せる。
  2. 引数を使う以外の方法も用意されていて、「$id = $this->uri->segment(3);」のように書けば、「2」の部分を取り出せる。

// 更新画面

public function update()

{

 $id = $this->uri->segment(3);

 echo "<hr> ID=".$id;

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

}

 

Controllerの改造の解説

CodeIgniterで、URL文字列から特定部分の文字列を取り出す方法を見ておこう。

 

例えば、「http://localhost/waf/welcome/update/aaa/bbb/ccc」というURLアクセスしたときCodeIgniterではURL中の「aaa」「bbb」「ccc」という部分は、以下のようにして取り出せる。

$seg1 = $this->uri->segment(1); // → 1番目のURL文字列:「welcome」=コントローラークラス

$seg2 = $this->uri->segment(2); // → 2番目のURL文字列:「update」=クラスの中のメソッド

$seg3 = $this->uri->segment(3); // → 3番目のURL文字列:「aaa」の部分

$seg4 = $this->uri->segment(4); // → 4番目のURL文字列:「bbb」の部分

$seg5 = $this->uri->segment(5); // → 5番目のURL文字列:「ccc」の部分

URLを「/」で区切って、base_url(http://localhost/waf/)の次から順番に、1番目のURL文字列、2番目のURL文字列、3番目のURL文字列、…とsegment()メソッドで順番を指定すれば取得できる。

 

Modelの改造

データベースでメッセージID指定して、メッセージを取り出す機能を用意しよう。

 

ファイルに以下のメソッドを追加する。

// Read by Id

public function read_message_by_id($id = 0)

{

 $sql = "SELECT * FROM talk WHERE id = ?";

 $param = array($id);

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

 return $query->row_array();

}

 

Modelの改造の解説

SQLの「WHERE」句で、絞り込む条件を指定できる。

 

SELECT * FROM talk WHERE id = ?

「WHERE id = 2」とすれば、メッセージID番号が2のメッセージデータが「talkテーブルから取り出せる。

もし該当するデータがなければ、返されるデータは空になる。(データが返ってこない。)

 

CodeIgniterの「row_array()」は、1件分のデータ配列の形にして返すメソッドだ。

 

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>

  <p>メッセージを変更して「更新する」ボタンを押してください。</p>

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

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

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

   <input type="text" name="message" value="<?php echo $talk['message']; ?>">

   <input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

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

   <?php else: ?>

   <p>※該当するメッセージがありません。</p>

   <?php endif;?>

   <button>更新する</button>

  </form>

  <p><a href="welcome/index">戻る</a></p>

 </body>

</html>

 

Viewの改造の解説

データベースから取り出した1件分のメッセージを表示する部分を追加した。

<input type="text" name="message" value="<?php echo $talk['message']; ?>">

の「<?php echo $talk['message']; ?>」という部分だ。

これで変更したいメッセージの本文を表示できる。

 

あと、編集したメッセージWebサーバーに送信できるように、Formタグ送信ボタン(「更新する」の部分)も追加した。

このときメッセージID番号も送信できるように、

<input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

という1行も仕込んである

 

Controllerの改造

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

// 更新画面

public function update($id = '')

{

 $id = $id ? $id : $this->input->post('id'); // id -> segment or post

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

 if ($action == 'update') {

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

  $this->chat_model->update_message($id, $message);

 }

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

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

}

 

Controllerの改造の解説

メッセージID番号を指定して、データベースから取り出し、Viewに渡すデータを用意している。

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

 

ユーザーメッセージ編集をしてWebサーバーに送信したら、データ更新する指示を出す部分も追加した。

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

if ($action == 'update') {

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

 $this->chat_model->update_message($id, $message);

}

モデルにupdate_message()メソッドを用意して、$idと$messageを渡せば、該当データ更新するようにしたい。

次は、モデルでupdate_message()メソッドを用意しよう。

 

Modelの改造

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

// Update

public function update_message($id = 0, $message = '')

{

 $sql = "UPDATE talk SET message = ? WHERE id = ?";

 $param = array($message, $id);

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

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

}

 

Modelの改造の解説

SQLの「UPDATE」を使えば、指定したレコード(1件分のデータ)を更新できる。

「UPDATE talk SET message = ? WHERE id = ?」で、talkテーブルmessageid指定して更新している。

 

CodeIgniterの「affected_rows()」メソッドは、更新した行数を返す。=成功なら1行、失敗なら0行となる。

 

補足

コントローラーの「$id = $id ? $id : $this->input->post('id');」という行は、$idの受け取り方が2パターンあるので、それに対応している。

編集ページの表示で、1回目の表示と、2回目以降の表示で、$idの受け渡し方が変わっている。

  • 1回目:URLに埋め込まれID番号をupdate($id = '')の引数$idで受け取っている。($this->uri->segment(3)で受け取るのと同じ)
  • 2回目以降:Formタグで送られてきた$idを$this->input->post('id')で受け取っている。

URLに埋め込む方法上記の1回目のような方法)は、ユーザー勝手に値をいじれるので、基本的には使わない方が良い。

 

まとめ

以上で、SQLの「UPDATE」を使った、データ更新ができた。

長々と説明したが、今回の大事な点は、SQLの「UPDATE」の使い方だ。

CodeIgniterの使い方や、Webサイトの作り方(FormタグなどのHTML知識)は、オマケ程度に見ておいて欲しい。

 

次回は、データを削除するSQLDELETE」の使い方を見てみよう。

 


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: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 増田プログラマー養成講座 コンテンツ一覧

2018-11-01

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

前回は、Webアプリモックアップ(ハリボテ)を作るところまでやりました。

今回は、Webアプリ機能実装してみましょう!

 

学習の狙い

データベースを使ったWebアプリを作って、データベースの基本操作CRUDの4つ)を練習してみよう!

CRUD
  1. Create 追加
  2. Read  取得
  3. Update 更新
  4. Delete 削除

 

説明の順番について

どういう順番で説明したら分かりやすいか検討してみた。

  1. まず先に、Webアプリの完成見本を提示します。
  2. 続いて、作る過程説明しながら、各プログラム意味説明してみます

 

作業の流れ

ざっくりと、以下のような流れで作っていきます

  1. XAMPPを起動する。(参考 anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備)
  2. CodeIgniterインストールする。(参考 anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう)
  3. phpMyAdminでデータベース操作する。(参考 anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう)
  4. ApacheWebサーバーソフト)の設定を変更する。(今回説明
  5. Visual Studio Code等のツールプログラムを書く。(次回説明
  6. ブラウザー動作確認する。

 

XAMPPを起動させる

(参考 anond:20181017191404 増田プログラマー養成講座 その6 OOPの種類、PHPの準備)

講座その6を参考にして、XAMPPを起動させて、ApacheMySQLスタートして下さい。

 

CodeIgniterインストールする。

(参考 anond:20181022232327 増田プログラマー養成講座 その9 MVCフレームワークを使ってみよう)

講座その9を参考にして、XAMPPの中にCodeIgniterインストールしておきます

 

phpMyAdminでデータベース操作する。

(参考 anond:20181024214133 増田プログラマー養成講座 その11 データベースを使ってみよう)

講座その11を参考にして、MySQLWebアプリ用のデータベーステーブル作成しておきます

 

データベースの設定

講座その11で、データベース練習で「chat」というデータベースを作ってみました。

そのときmessage」というテーブル作りましたが、今回Webアプリで使うテーブルとして新たに「talk」というテーブル作成します。

(補足:前に作ったテーブルmessage」の中に、テーブル名と同じ「message」という名前カラム(列)を作ってました。これでも問題ないんだけど、プログラムを書くときテーブル名とカラム名を混同しないようにしたいので、念のため作り変えときましょう。)

 

talkテーブル新規作成する

SQLで「talk」というテーブルを作る場合、以下のようなSQL文になります

CREATE TABLE `talk` (

 `id` int(11) NOT NULL,

 `create_at` datetime NOT NULL,

 `update_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

 `message` text NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

このSQL文をphpMyAdminで実行すれば「talkテーブルを作れます

  1. phpMyAdminを開く。
  2. データベース「chat」を開く。(前に作った「messageテーブルは使わないので削除してもOK
  3. phpMyAdmin画面の上部メニューの「SQL」をクリックする。
  4. データベース chat 上でクエリを実行する:」の空欄に上記SQL文をコピーして実行すれば、「talk」というテーブルができる。

 

これでデータベースの準備ができました。

 

Apacheの設定

CodeIgniterで使う「URL」の表示方法ちょっと変更しておきたいので、ApacheWebサーバーソフト)の設定を変更しておきます

(「URL」=情報がどこにあるのかを示すインターネット上の住所)

Apacheの「mod_rewrite」という仕組みによって、URLの扱い方を変更します。)

 

(例)

変更前: http://localhost/waf/index.php/welcome/

変更後: http://localhost/waf/welcome/

というように、URLの中にある「/index.php」という文字列を表示させない設定にします。

 

Apache設定ファイル.htaccess

Apacheの設定は「.htaccess」という名前設定ファイルを用意して変更します。

 

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]

 

.htaccess」の書き方を理解するには、「正規表現」という仕組みの知識必要です。

まだ「正規表現」を勉強してない段階では、とりあえずコピペして使って下さい。

 

Webアプリ完成見本

CodeIgniterで、

を行ないます

 

CodeIgniter設定ファイルconfig.php」の編集

config.php」をIDEやエディターで開いて、以下のように変更する。

$config['base_url'] = 'http://localhost/waf/';

$config['index_page'] = '';

 

最初は、

$config['index_page'] = 'index.php';

になってるけど、「index.php」を削除して、「''」(空)にしておく。

 

CodeIgniterデータベース設定ファイル「databese.php」の編集

「databese.php」をIDEやエディターで開いて、以下のように変更する。

$db['default'] = array(

 'dsn' => '',

 'hostname' => 'localhost',

 'username' => 'root',

 'password' => '',

 'database' => 'chat',

 'dbdriver' => 'mysqli',

(※上記のように、MySQLのusernamepasswordは「root」(管理者)のデフォルト設定を使ってます。)

 

Controllerの作成

上記フォルダの中に「Welcome.php」というファイルを作って、内容を以下のようにします。

<?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($id = '')

 {

  $id = $id ? $id : $this->input->post('id'); // id -> segment or post

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

  if ($action == 'update') {

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

   $this->chat_model->update_message($id, $message);

  }

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

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

 }

 

 // 削除画面

 public function delete($id = '')

 {

  $id = $id ? $id : $this->input->post('id');

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

  if ($action == 'delete') {

   $this->chat_model->delete_message($id);

  }

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

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

 }

}

 

View作成

上記フォルダの中に「welcome_index.php」「chat_update.php」「chat_delete.php」という3つのファイルを作って、内容を以下のようにします。

 

Viewファイル「welcome_index.php」の中身

<?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ファイル「chat_update.php」の中身

<?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>

  <p>メッセージを変更して「更新する」ボタンを押してください。</p>

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

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

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

   <input type="text" name="message" value="<?php echo $talk['message']; ?>">

   <input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

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

   <?php else: ?>

   <p>※該当するメッセージがありません。</p>

   <?php endif;?>

   <button>更新する</button>

  </form>

  <p><a href="welcome/index">戻る</a></p>

 </body>

</html>

 

Viewファイル「chat_delete.php」の中身

<?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>

  <p>以下のメッセージを削除しますか?</p>

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

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

   <p style="background-color:lightpink"><?php echo $talk['message']; ?></p>

   <input type="hidden" name="id" value="<?php echo $talk['id']; ?>">

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

   <?php else: ?>

   <p>※該当するメッセージがありません。(または削除済です。)</p>

   <?php endif;?>

   <button>削除する</button>

  </form>

  <p><a href="welcome/index">戻る</a></p>

 </body>

</html>

 

Model作成

上記フォルダの中に「Chat_model.php」というファイルを作って、内容を以下のようにします。

<?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();

 }

 

 // Read by Id

 public function read_message_by_id($id = 0)

 {

  $sql = "SELECT * FROM talk WHERE id = ?";

  $param = array($id);

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

  return $query->row_array();

 }

 

 // Update

 public function update_message($id = 0, $message = '')

 {

  $sql = "UPDATE talk SET message = ? WHERE id = ?";

  $param = array($message, $id);

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

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

 }

 

 // Delete

 public function delete_message($id = 0)

 {

  $sql = "DELETE FROM talk WHERE id = ?";

  $param = array($id);

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

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

 }

}

 

この続きは、

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

へ続きます

2018-06-30

anond:20180630130834

>実力がないけど勝たなきゃないんだから、勝つためならルール内でなら何をしてもいい、という考え方はよくないよ。

完璧ルール作りが至難であるのだからルールには書かれてなくてもモラルでもって禁ずるべきことはあるし、

>それによって負けてしまうのであれば、それはまだ勝つべ存在ではなかったということで敗退を受け入れるべき。

うん、そういう思想信条主義主張があってもいいと思う。

>そして地道に力をつけて、堂々と勝てるようになった時に勝てばいい。

例えば1992年の星陵高校松井秀喜の5打席連続敬遠についてはどう思う? 当時の明徳義塾高校の馬淵監督は「当時の星陵には一人、松井と言うプロが混じっていた」と回想している。素人高校生が、事実上プロ松井にどうやって勝てばいいわけ

>勝ち進むことが最優先目的であり最上価値だと考える人間は「ルール内なら何をやっても、結果を出せばいい、結果が全て」とか言う人もいるけど、その価値観はよくない。

FIFA大会行動規範には「勝つためにプレーする」という文言がありますけど?

1.Play to Win

Winning is the object of playing any game. Never set out to lose. If you do not play to win, you are cheating your opponents, deceiving those who are watching, and also fooling yourself. Never give up against stronger opponents but never relent against weaker ones. It is an insult to any opponent to play at less than full strength. Play to win, until the final whistle.

卑劣な振る舞いをしたことで、一般人サッカーという競技に興味を失ったり、子供失望したり、世界から日本への信用(実力の有無への信用ではなく、誠実さへの信用)を失ったりして、それでもなお決勝トーナメント進出には無上の価値があるなんていうのは間違ってる。

卑劣かどうかは、主観によるよね。前述の松井五打席連続敬遠について言えば、当時は高知県民は比較好意的に受け止めていた。

>別の言い方をすれば、大会内の順位ではなく、競技日本サッカー界へのイメージへの影響なども含めてが結果なのであって、「結果が全て」ならそういうことも含めて考えるべきだ。

大会実績だけが結果じゃない、全てが結果なんだ。

そんなことを言い出したら、ハリル前監督西野監督の「ベスト8を目指す」という目標設定自体おかしい、という話になてくる。

2018-04-26

『母』という言葉から目指す真の男女平等とは

 雌雄を決するのは雌が劣ってるって意味からNGだし、奥さんも家内も亭主も主人もNGらしい。なるほど。

 昨今世間では男女差別に厳しい。そんな中で、『母』という言葉不用意に濫用されている。例えば『母性』は子供を包み込むような資質で、『父性』は忍耐や規範責任を教えるような資質を指すらしいんだけど今どき『女らしい』『男らしい』って表現男女差別だと叫ばれるのだから母性父性も明らかに男女差別に当たるのでは!

 と本気で思ったわけでは一切ないのだけれど、日本語ってけっこう『母』って熟語が多いからどんどん『親』に変えてみようと思ったわけですね。

———-

母性本能 → 親性本能 父性母性が一緒になったようで分かりにくいね母性は親性にするとして、父性をどうするかという課題が残る。社会性でいいんじゃないですかね(適当)。

・母校、母港 → 親校、親港

 母港が母なのは女性名詞のあるヨーロッパ言語で船が女性名詞だからだという。航空母艦とか。男は女たる船に乗っちゃうぜってことだし、女は港で待ってろってことでしょ。ほらほら職業差別じゃん。航空母艦(空母)も空親にしなければなりませんね。

母集団 → 親集団

 これは異論なく親集団に変えてもいいのでは?なんで母なんだろう。父集団はないのにね。これも女性名詞のせいなのだろうか。ちょっと調べてみたら英語だとPopulationまたはParent Setって言うらしいからまさに親集団だった。やったぜ。

・母数 → 親数

 ほぼ母集団と同じ。母集団の総数が母数らしいので、親集団になったらその総数は親数ということになるでしょう。

・分母 → 分親

 数学からの参戦多いな。まぁ、多分これも母数に対する子の数って感じで分母分子って言ってるんでしょう。真面目に考えると母に対する子の数ってだいたい一対多になるわけだから不適切だよね。分親にしても二対多だけどね。いやもっと母親複数いるような複雑な家庭なのかもしれない。一夫一妻制が始まったのなんて歴史を振り返れば最近の話だしね。とりあえず分親って文字にすると『親分の分親』とか言って回文作って遊ぶ世界線が見える見える。

母音(母韻) → 親音(親韻)

 数学に負けていられないと国語からの参戦。分母分子関係と同様に母音子音の関係なのだから親音でいいじゃんと思ったんだけど頑張って調べたら明治初期は『母音⇔子音』ではなく『母音⇔父音』と言われることもあったらしいので『親音』にしてしまうのは少し憚られたけどほら今明治じゃないから。平成も終わろうとしてるから

母体 → 親体

 母親の体、という意味で使う母体はそのまま母体でいいと思うんですけど、『あの市民団体母体はもともと極右企業だった』みたいな使い方の時は親でいいのでは?まぁ分かるよ。子どもが産まれてくるのって母からだもんね。いやでもほら父だって精子提供してるからこれも親体でいいと思うんですけど(提案)。

母屋 → 親屋

 母屋というのは、離れとかある屋敷のメイン部分を指すので、これは女性差別というよりは男性差別と言えなくもないかもしれない。いや、主に家にいるのが女性から母屋になった、と考えるとこれは家内や奥様と同じ理由女性差別からやはりここは親屋にするべきそうすべき。

母国 → 親国

 母国語とかもそうだけどなんで自国は母なんだろう。これも生まれ育った生家を母屋っていうのと同じように、生まれ育った国を母国って言うのであれば、女は自国から出られないって意味女性差別からやはりここも親国ということになるでしょうそうでしょう。

・母指球 → 親指球

 手足の親指がくっついてる付け根のところのことです。自転車乗る時にペダル踏み込む位置は母指球がいいらしいよ。普通に考えて親指は『親』指って言うのにその付け根が母指球って言うのおかしいからぜひとも親指球に変えるべき。いよいよ難癖みたいになってきましたNe

雲母 → 雲親

 雲母って言うのは鉱石のことで『うんも』って読むんだけど、中国では『雲の湧き出るところにある鉱石』と言われてるから雲を産む母という感じで雲母になったらしい。じゃぁ『母体』のときと同じ理由で雲親でオッケーということで。ちなみに日本だと『割るとキラキラ光る』って理由で『きらら』と呼ばれていたので『雲母』は『きらら』って読むしGoogle日本語入力だとちゃんと変換もできる。ほら雲母言葉って適当なんだなって思えてきてこの雲親ってのもありな感じしてくるよね。よね。

例外

乳母乳母

 乳母は調べてみたら、母の代わりに乳をあげる人が原義らしいので父の乳は出ないので乳母乳母で良いということになります

・母刀自 → 母刀自

 『おもとじ』って読んで母を敬って言うことばだからそのままなんだけど誰も知らないよね。 

・水母 → 水母

 一生懸命調べたけど、なんでクラゲを水母って書くか分からなかったのでそっとしておきましょう。水上機母艦の略で水母って言う場合は水親にしましょう。

———-

 というわけで母という言葉いか差別用語として使われているかをご理解いただいたかどうかはさておいて、なんだかよくわからないけど母って言葉は多くの言葉に使われているんだなぁと思って感心しました。熟語じゃないけど母なる海とか母なる大地とかもですね。

 他にもあったらぜひとも親に変えていただければと思います

2018-02-18

ことばの物語としてのJust Because!


Just Because …多義性が顕著な現代英語の生きたイディオム。「なんとなく」「ただそれだけで」「ただそれだけのために」などさまざまに訳される。アニメでは物語の進行にあわせてこのイディオムニュアンスが変容する。あるいはこのニュアンスの変容こそがメッセージとして物語に書きしるされたのかもしれない。


第一話 On Your Mark

In Unison : 一斉に みんないっしょに

第一話内、勇気とか元気とかあたたかさとか決意とか、そんなものが音になったような応援歌にのってJust Becauseの意味に変容の予兆があらわれる。

第一テーマのつぎのドラムソロ。マウンドちかくにつむじ風がおこり、瑛太の目に決意がともる。

高校三年の3学期という意味をうしなった待ち時間に風がふき意味が芽生える。


第8話 High Dynamic Range

Just Because のニュアンスが大きく変容する。

瑛太セリフには「しょうがない、こうしかできない」といった消極的ニュアンスが目立つがじっさいには夏目の後を追いはじめている。

瑛太は転校初日に陽斗になげかけたのと同じ問いを小宮から受け、気づいてか気づかずか、第一話の陽斗そっくりの答えを返す。

小宮はなんとなくのなりゆきまかせを停止し明確な目標を持つ。

夏目はなんとなく決めた進路の必然性を問われ自己未来対峙する。

陽斗は瑛太を負けるなと励ます瑛太は勝ち負けじゃないというが陽斗はそれでも負けるなと励ます

森川髪型を変える。

「なんとなく」から「ただひとつ理由のため」へ。


最終話 Get Set, GO!

ここでもう一度In Unisonが流れるタイトルと同様、第一話に呼応している。ただしここでながれるIn Unisonはブラスバンドのちからづよい合奏ではなくピアノだけのひかえめな主旋律で、しか第一テーマの後半部が一度きりだ。もう応援歌役割を終え、それぞれの場所へ一斉に旅立つみんなをやさしく送る曲になっている。第一話で位置についたものたちがみんなそれぞれの目的に立ち向かい、それをのりこえたからだ。

第一話冒頭では「なんとなく」程度だったJust Becauseのニュアンス物語のなかで力を増強し、ついに「ただそれだけのため」「ほかに理由なんかいらない」といったつよい意味を帯びて最終回へといたる。みんな一緒に、それぞれの目標にいどみ、そしてのりこえた成果だ。かれらはいっせいに走りはじめ、つぎのステージへと向かう。


このアニメ受験シーズン放送されたことは偶然ではないだろう。元気をもらった受験生も多かったはず。わたし受験はとおい過去だが、それでもこのアニメからはたくさんの元気をもらった。わたしにとって、いまなすべきことは受験勉強ではなく研究開発と制作執筆介護だ。吹奏楽部員だったこと、全国大会を目指したこと野球部応援した夏、写真学科受験、絵をさがしてカメラかついで原チャで街をまわったこと、みんなみんな遠い過去だ。でもいまだってつまづくたびに立ち止まり休み、そして前へ出る。生きる限り前へすすみ、高くとびつづけたい。

2018-02-07

はてなブックマークタグを一括置換するiMacrosのコード(無保証)

何で一括置換機能消えたん……

VERSION BUILD=1001 RECORDER=CR
SET !REPLAYSPEED MEDIUM
SET !ERRORIGNORE YES
URL GOTO=http://b.hatena.ne.jp/username/OKIKAE/
TAG POS=1 TYPE=A ATTR=CLASS:js-keyboard-entry-page-openable
TAG POS=1 TYPE=IMG ATTR=ALT:ブックマーク編集
TAG POS=2 TYPE=LI ATTR=TXT:OKIKAE
TAG POS=1 TYPE=LI ATTR=TXT:オキカエ
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:/my/bookmark ATTR=*
WAIT SECONDS=20

ユーザ名usernameで使用してる「OKIKAE」タグを「オキカエ」に一括置換する場合Chrome版で実行済み。最後20秒待ってるのは、置換後に一覧ページへ反映されるのが遅れる為。

ただ自分でやった時(当然ユーザ名・タグは別の名前)に、2013年11月頃の分で一向に置換されないままループしたりで安定しない。

2017-12-25

英語カタカナ化に見られるいくつかのパターン

まず、大前提として、

音韻論とは

原語の発音には、「意味のある区別」と「意味のない区別」があり、前者のみを区別し、後者無視するのが音韻論基本的に、ある言語ネイティブスピーカーはその言語において「意味のある区別」だけを直感的に感じ取ることができ、「意味のない区別」は意識しないと気づくことができない。

例えば、前回書いた増田( https://anond.hatelabo.jp/20171223040416 )で、「難波」と「あんな」の「ん」は違う音だけど、日本人日本語ネイティブスピーカー)はその違いを無視すると書いた。ブコメを見ると違いがわからないという声があったので、ここで解説すると、「ナンバ」のように、直後にバ行またはパ行の音が続く場合は、「ん」は「唇を閉じて息を閉鎖し、その息を鼻の穴から出す」音になる。英語であればmに相当する。直後にナ行、タ行またはダ行が続く場合は、「下を上顎にぴったりつけて息を閉鎖し、その息を鼻の穴から出す」音になる。英語であればnに相当する。

英語であれば、これも前回の増田から持ってくると、water の t と、 talk の t は日本人には全然違う音のように聞こえる。でも、英語ネイティブスピーカーにとっては同じ音。

よく、英語ネイティブスピーカーにとっては違う音なのに日本人には同じに聞こえる発音が取りざたされるけど、逆もあるということ。ある言語ネイティブスピーカーであるということは、その言語にとって「意味のない区別」はしないように訓練されているということを意味すると同時に、「意味のある区別」はするように訓練されているということ。 r と l の区別が難しいのは前者の例だし、 water の t と talk の t が違う音に聞こえるのは後者の例。

同じことは日本語を学んでいる外国人にも言えて、例えば、「難波」の「ん」と「あんな」の「ん」韓国人にとっては「違う音」なので、韓国人が別の単語を持ってきて「この『ん』はどっちですか?」なんて質問すると、日本人は「は? 『ん』は『ん』でしょ?」となる。韓国語なら「オッパンカンナムスタイル」の「カ」と「ネガチェイチャラガ」の「ガ」は濁音と清音から違う音だけど、韓国語にはこの区別はないか韓国人は「同じ音」と思っている。

英語カタカナ化では、「英語において区別のある音は区別し、区別のない音は区別しない」というルールが概ね採られていると思う。いわば、英語カタカナ化とは、「英語音韻論カタカナだけでシミュレーションする」試みと言える。

ルール実例

以下、いくつか一般的だと感じるルールリストしてみようと思う。なお、発音記号は、New Oxford American Dictionary に基づいている。

母音

アメリカ英語には短母音と長母音音韻上の区別はないので、ある音を長めに発音しても短めに発音しても同じように理解される。カタカナ語はこの事実を利用して、長音記号区別することで、合計10種類の母音区別できるようにしている。なお、10種類でも英語音韻論を完全に再現するには足りない。実際に長音になりやすい音に優先的に長音記号が割り当てられているようだけど、全てではないように見える。

  • /ə/, /æ/ はア段

例 /ə/:sun, bus, an

例 /æ/ : cat, pat, bad

実際これらの音は「ア」に聞こえるという人がほとんどだと思う。cat は「キャット」なので「イャ段」説があるにはあるのだけど、/k/ の舌の形が日本語の「ヤ」の子音に近い為に /k/ の時だけ採用されたのかなと想像している。ちなみに英語には他に「キャ」のように聞こえる音はないので特に問題ない。/æ/は一貫してイャ段にすればいいのにと思わないでもない。

  • /ɪ/ はイ段

例:it, knit, fit

「エ」に聞こえることもある音。とは言え多くの場合「イ」に近く、また「エ」に聞こえる音は他にもあるので妥当

  • /ʊ/ はウ段

例:look, good, foot

間違いなくウに聞こえる。

  • /ɛ/, /wə/ はエ段

例 /ɛ/:get, pen, set

例 /wə/ :Quebec, sequence, quench

  • /ɑ/ はオ段

例:lot, pot, knot

「『ア』に聞こえる」という人がかなり多いと感じているのだけど、アには割り当てが他にあるので、オに寄せられたのではないか想像している。

  • /ɑr/, /ər/ はアー段

例 /ɑr/ :car, par, park

例 /ər/ :water, per, nerd

  • /i/ はイー段

例:eat, sheet, seat

  • /u/ はウー段

例:cute, cool, tool

  • /eɪ/ はエー段

例:mail, male, eight

エイ」段で書かれる事も多いが、日本語音韻上「エー」と「エイ」の区別はない。

  • /ɔ/ はオー段

例:water, talk, ball

カタカナ化する単位単語ではなく形態素

形態素とは、「意味の最小単位」。単語の中には複数形態素からなるものがあって、例えば「文章」なら、「文」と「章」にはそれぞれ意味があり、それが集まって、「文章」という単語ができていると理解できる。英語でも、American という単語は、America と、an が合成されてできている。このそれぞれのパーツを「形態素」という。

カタカナ語は、どうも単語単位でなく形態素単位でやっているように見えることが多い。例えば、today は /təˈdeɪ/ だから、上のルールに従えば「タデイ」になるはずだけど、実際には「トゥデイ」になっている。また、consequence / ˈkɑnsɪkwəns/ も、上のルールに従えば「コンシケンス」だけど、実際には「コンシーケンス」になっていると思う。

しかし、これらは例外なのかといえば、形態素単位カタカナ化していると考えると説明がつく。today は to-dayに分割できる。そして、to は 「トゥ」。(なお、これは「トゥー」になるはずなので、こっちは例外。too との衝突を避けたものと思う。)day は「デイ」なので、合わせて「トゥデイ」になる。consequence も con /kɑn/ は「コン」、sequence /ˈsikwəns/ は「シーケンス」なので、合わせて「コンシーケンス」。

カタカナ語 = イギリス英語」説について

カタカナ語アメリカ英語音韻論ベースにしているのではなく、単にイギリス英語を聞こえたまま書いただけのものではないか」という指摘が前回の増田であった。

かにapple, girl など、イギリス英語「聞こえたまま」になっているように見える単語は多数あるが、すべての単語を調べたわけではないから確定的なことは言えないが、これらの単語は、アメリカ英語音韻論説でも同じ程度にうまく説明できる。それに、water, there など、イギリス英語聞こえ方説よりもアメリカ英語音韻論説の方がうまく説明できる例もある。(イギリス英語聞こえ方説をとれば、それぞれ、「ウォータ」、「ゼー」となるはず。)

実際にカタカナ語の多くがアメリカ英語から取られたのかそれともイギリス英語から取られたのかは個人的に知らないのでなんとも言えないのだけれども、カタカナ語アメリカ英語の間にある程度の法則性が見られるという前提で、その法則を書いてみようと思った次第。

2017-12-17

岸勇希は燃えたけど、アラーキー黙殺されたのね。

ツイッターで岸勇希のこと追いかけていたらこ事件について知った。

湯沢薫さん、アラーキーから性的虐待を受けていた。

https://www.facebook.com/photo.php?fbid=1933922950154038&set=a.1507332432813094.1073741829.100006090557033&type=3&theater

アラーキーの事はあまり詳しく知らなかったけれど、彼も電通出身だったのね。

検索しても不自然な程情報が出てこない。湯沢さんの告発抽象的ってのもあるのだろうけれど。

美術業界から告発が続いて出てこないかな。

2017-12-04

おれが youtube で 100 回くらい再生したカバー

タイトル通りです。それでは早速。


'No Diggity' cover by Seattle soul queen Grace Love @ The True Loves

https://www.youtube.com/watch?v=ffsNRYj7R6E

Grace Love というソウルの人。情報全然無いので何者なのかさっぱりで申し訳ないが、まあ、見てもらえば凄さはわかってもらえるかと。

キックスネアそれぞれで前に踏み込んで行くリズムが最高にハマる。

体内の何かにがっちりハマってくる感じ。

ホーンも聴きどころ。渋すぎる。

歌はこれでもかってくらいのガッツ感。この方向を求める限りにおいて、裏切られることはない。

この人の動画をいろいろ見てると、サウンド的にはギターの Jimmy James って人がキーパーソンらしく、地元ではそこそこプレセンスがある模様。この人はうまいと思う。

これとか良い。

Delvon Lamarr Organ Trio - Warm-up Set (Live on KEXP)

https://www.youtube.com/watch?v=jhicDUgXyNg




Gorillaz - Feel Good Inc. (Cover) by Daniela Andrade

https://www.youtube.com/watch?v=7C9EYka6fIU

カナダのこのお姉さんは、カバー中心に大量の動画があって、youtube 時代アーティストとして割と有名らしいので、知ってる人も多いかも。曲はどれも良いんだけど、個人的にはこれがたまらなく好き。

デリカシーたっぷりに、そっと触れるような歌が魅力。

アレンジも本当によく考えられていると思う。シンプル弾き語るために凄く工夫されていると言うか、ものすごく手の込んだシンプルさというか。

youtubeカバーを大量に上げて有名になったらしいけど、カバー以外の曲もあって、なにげにツアーアジア域まで来てたりするらしい。



RADWIMPS - 前前前世君の名は。』(Matt Cab cover)

https://www.youtube.com/watch?v=Kq1R6Ur9cq4

星の数ほどある前前前世カバーですが、個人的にはこれが好き。

おれはオリジナルを何回も聴いたけど、結局良さがわからずじまいだったんだよね。

でも、このカバーを聴いて、ついに曲の良さを理解できたよ。

オリジナルBPM設定では、年寄りには曲の良さを理解するのムリだYO。。

絡みつくようにメロディをなぞる歌が気持ちよい。こみ上げるところそれなりにソウルフルな感じもあるるんだけど、声が重くならないのでポップらしさを維持しているあたり、良いバランスだと思う。多くのRADWIMPSファンにとってはやや重いかもだけど、おれにはちょうど良いというかしっくりきた。



Meshell Ndegeocello Pop Life LIVE @ Sunset Junction 2010 Los Angeles YouTube

https://www.youtube.com/watch?v=gWe55aMBnII

これは、ミシェル仕事で最も素晴らしいものの1つではないかと。。この人の仕事はどれも凄いんだけどさ。

これもスローアレンジ。一歩一歩踏み込んで行く感じが最高で、踏み込むたびに囚われていく。オリジナルの軽いアレンジに対してこのアレンジは、普通人間は思いつかないし、思いついても成立させられないと思う。「うおっ。そう来んだ!?」という驚きがあって、そしてそれが見たことが無い高いレベルで成立しているという。何が起きてるのか理解できない世界にいきなり引きずり込まれてワケわかんないんだけど、超気持ちいいという。聴くたびドキドキする。

Deantoni parks の一見空気読んでないように見えて、実はナイーブドラムに胸をつかまれる。この人は他の仕事も良い。

そんで、100回ぐらい再生して、一息ついて、「プリンス、スゲエ」って思った。

2017-11-18

DJ TA-SHI「1992 MIX」- HIPHOP専門ラジオ局WREP 2017年11月18日放送

01. Gang Starr - Ex-Girl To Next Girl

02. Ill Al Skratch – Where My Homiez? (Come Around My Way)

03. Black Moon - I Gotcha Opin

04. The Pharcyde - Passin' Me By

05. Common - Breaker 1/9 (Beatnuts Remix)

06. HI-C - Sitting In The Park

07. Kool G Rap & DJ Polo - ill Street Blues

08. Black Sheep - Similak Child

09. Gang Starr - Gotta Get Over

10. Redman - Tonight's Da Night

11. Spice 1 - In My Neighborhood

12. The Pharcyde - Ya Mama

13. Arrested Development - People Everyday

14. Chubb Rock - Yabadabadoo

15. Das EFX - Mic Checka

16. Das EFX - Real Hip Hop (Pete Rock Remix)

17. ED O.G & Da Bulldogs - I Got To Have It

18. Nas - Halftime

19. Public Enemy - Shut Em Down

20. Eazy-E - Only If You Want It

21. 欠番https://twitter.com/WrepRadio/status/931818391764996098

22. Onyx - Throw Ya Gunz

23. Boogie Down Production - We In There

24. Dr. Dre & Snoop Dogg - Deep Cover

25. Leon Haywood - I Want'a Do Something Freaky To You

26. Dr. Dre - Nuthin' But A G Thang

27. Scraface - A Minutes To Prey

28. Brand New Heavies - Heavy Rhyme Experience Theme

29. Heavy D & The Boyz - Blue Funk

30. Above The Law - Call It What U Want

31. Digable Planets - Rebirth of Slick (Cool Like Dat)

32. Gang Starr - Take It Personal

33. 欠番https://twitter.com/WrepRadio/status/931822759562244096

34. Kool G Rap & DJ Polo - On The Run

35. Super Cat - Ghetto Red Hot

36. LB's - Bi*** Get A Job

37. Lords Of The Underground - Check It

38. Naughty By Nature - Hip Hop Hooray

39. Eric B. & Rakim - Paid In Full (Derek B's Urban Respray Version)

40. P.M Dawn - Set Adrift On Memory Bliss

41. Wrecks-N-Effect - Wreckx Shop (Full Crew Mix)

42. A Tribe Called Quest - Hot Sex

43. Main Source - Fakin The Funk

44. Zhiggie - Rankin' In The Dough

45. RUN DMC - Here We Go

46. A Tribe Called Quest - Scenario

47. Black Sheep - The Choice Is Yours

48. Naughty By Nature - Uptown Anthem

49. Wrecks-N-Effect - Rump Shaker (Remix)

50. Kris Kross - Jump (Supercat Mix)

51. M.C Breed & DFC - Ain't No Future In Yo' Frontin'

52. MC Serch - Back To The Grill

53. Pete Rock & C.L. Smooth – They Reminisce Over You

54. Tom Scott and The California Dreamers - Today

55. Mary J. Blige feat. C.L. Smooth - Reminisce (Bad Boy Remix)

56. Positive K - I Got A Man

57. Young Black Teenagers - Tap The Bottle

58. ArtOfficial - Don't Sweat The Technique

59. Def Jef - Cali's All That

60. EPMD - Cross Over

61. Redman - Time 4 Sum Aksion

62. House Of Pain - Jump Around

63. Wrecks-N-Effect - New Jack Swing

64. MC Lyte - Ice Cream

65. Tammy Lucas & Teddy Riley - Is It Good You

66. TLC - What About Your Friends

67. Bobby Brown - Humpin' Around

68. R. Kelly & Public Announcement - She's Got That Vibe

69. Nice & Smooth - Somethimes I Rhyme Slow

70. Jeff Redd - You Called And Told Me

71. Shinehead - Try My Love

72. Kris Kross - Warm It Up

73. Naughty By Nature - Everything's Gonna Be Alright

74. Ice Cube - Check Yo Self (feat. Das EFX)

---

上記の出所は WREP‏ @WrepRadio の https://twitter.com/WrepRadio/status/931810971282059265 から https://twitter.com/WrepRadio/status/931836391440506880 までの一連のツイートより転載

anond:20171116210216

そもそも英語楽しい」てなんやねん。

おまえ日本語しゃべってて楽しいんか?日本語楽しいんか?それともしゃべんのが楽しいんか?

英語できるオレ」を人が見てるのが楽しいちゃうんか?

The Houseハウスホワイトハウスかな?the House of Representativesな。pass the tax billでわかるやろ。英語じゃなくて常識問題
is set on Thursdayなぜ受動態。set on…?どういう意味だ。ハウスon Thursdayにsetされる???set, get, go意味はない。ながせ。on [いつ] to [何する] の部分が本体
to passもうこの時点で理解放棄しているが一応続きを読むパスしたんやねis to pass やからこれからやね。
its own version of the tax billthe tax billのits own versionってなんやねん。税法案のown version草案かな…? (ちなみにこの時点でThe House主語であることは記憶から吹っ飛んでいる)日本でもいろんなやつがそれぞれ違う法案作るやろ。常識問題やって。
which would cut taxes by more than $1.4 trillion over 10 yearsよくわからんけど10年間で1.4trillionドル以上の税金カットするtax billなんやな。あと毎回思うけどこれはどういう感覚byなんだby half とか by 20% とか言うわな。
and broadly rewrite the business tax code.(would からover 10 yearsまでを解析していたために何に対してここがかかっているのか忘れている) business tax codeってなんやねん。rewriterewritesじゃないの?which would rewriteな、当然。パッと見分からなくても考えればわかるやろ。rewrite"s"になってないからな。

英語得意な人本当にどうすればいいか教えて欲しい

英語は読むな。どうせ日本語やって読んでないやろ。

ページ上から下に眺めて目に入ったフレーズだけで自分文章構成するんや。

これで自分の文が元の意味大分違ってたら、そら英語ができないんやなくて常識がないんや。頭が悪い英語関係ない。

日本語かて英語かて起こった全てのことが書いてあるわけやないんやから、書いてないことは全部自分で補完してるんやで。

逆に言えば、書いてあることわざわざ全部読まんでも意味はわかるんや。自分にわかるところだけ読んでれば。それを意味の分からないところだけじっくり読んでどうすんねん。

からないとこはほっとけ。わからない表現も同じ文意のところで使われてるの5回も見れば「ああそうゆう意味か」となるやろ。そうなるまでほっとけ。

  

感想:

TOEIC 750てたいしたことないねんな。

2017-11-17

英語はこうやってスラスラ読めるようになっていく

https://anond.hatelabo.jp/20171116210216

私は英文を読むときは ↓ のように「返り読みをせず」「カタマリごとに理解しながら」読んでいくように努めています

プロアマわずこのような読み方をたくさんするのが英語学習王道のようですね

このやり方ができていれば、例えば「関係詞が続くとスタックオーバーフローする」ということはないハズです

http://d.hatena.ne.jp/cappellorosso/20090302/1235999462

The House is set / 家がある? (*1)

on Thursday / 木曜日に???

to pass its own version of the tax bill, / 税法案… が通る, 下院 (上院?) が開かれたのか (*2), 下院案か

which would cut taxes by more than $1.4 trillion / 税を削減する, 1.4兆円以上

over 10 years / 10年にわたって

and broadly rewrite the business tax code. / 事業所得税? 法が広く書き換えられる

(*1) この段階では the House の H が大文字になっているという情報を読み落としています

(*2) set A to Aに…し始めさせる (起動相) の受動態 × 現在形 (予定) が正解でした

  直訳すると「下院木曜日法案を 通過させ始める (審議する?) 予定である」(受動態はあえて訳していません)

  どうやらこの法案は可決の見通しが高いようです

ご参考になれば幸いです。

なお、申し遅れましたが、私は TOEIC 460 (2017年) のクソ雑魚です。

anond:20171116210216

文法うんぬんじゃなくて単純に語彙力が足りないのと、読み方が悪いだけじゃないかな。

まず、単純にTOEIC 750点くらいって小学生低学年くらいの言語力なんだから大人向けをすらすら新聞読めなくても全くおかしくない。

日本語読む時だってすらすら読むっていうのは、文字情報かいつまんで読んでいるのであって文章を一字一字を精読しているわけではないので、すらすら読みたいなら訳読式に読もうとするのをやめなきゃ。まずぱっと見て出てきた単語/まとまり意味をつかめるようにならないとすらすら読めないと思うよ。

あとなんとなく、単語とか句を日本語と1対1に対応づけて把握している印象と文法構造を全部理解しきらないと読んだ気にならない感じがある。

それだと多分英語に触れるの大変だと思う。

新聞とか読むときは細かい語法に着目するっていうより関連する語彙を身につけることを優先して読む方が今の力ならあってると思う。

英語を楽しむなら細かい語法とかはたくさん読んでいけばなんとなくわかってくるくらいで良いと思うよ。

今回の文章

The House is set on Thursday to pass its own version of the tax bill, which would cut taxes by more than $1.4 trillion over 10 years and broadly rewrite the business tax code.

まず単語

下院 - 木曜日 - 税制法案 - 減税 - 1.4兆ドル - 10年 - 書き換える - 法人税

これがかいつまめれば、だいたいどんな話かわかるでしょ(まあこれはその人の母語での言語能力にもよるわけだけど)。

これがちょっと広がるとこうなる。

下院 / 木曜日にセットされる / 下院バージョン税制法案を通すために / その法案っていうのは減税する / 1.4兆円以上も / 10年以上かけて / それで、広く書き換える / 税制法案

2つ目も

But as with the health care debate earlier this year, the Senate emerged as the inconstant ally in President Trump’s pursuit of a major legislative accomplishment in his first year.

医療健康保険 - 今年早く - 上院 - 一定しない仲間 - トランプ大統領 - 追求 - 法案実績 - 1年目

でも/ 健康保険議論と同様に / 今年早くの

上院が現れる / 一定しない(常に賛成するとは限らない)仲間として / トランプ大統領が追い求めること / 主要な法案の実績 / (トランプの)1年目の

こんな感じで読むのがいいんじゃない。知らんけど。

英語で興味ない話題読んでもそりゃあ楽しくないよだって興味ないんだし

あんまこういうこと言いたくないんだけどさ、「英語」を特別視しすぎじゃね。

英文として優しい文章、難しい文章があるのは間違いないんだけどさ、それが好きか嫌いかってのは別じゃん。

英文を楽しく読むんじゃなくて、楽しく読めそうなのを英文で読むんだよ。

例えばさ、次の例文は日本語だけど判る?

全体会合は9月20日以来、約2カ月ぶり。この日は憲法への自衛隊明記や緊急事態条項の創設を含む「改憲4項目」のうち、参院選県境をまたぐ「合区」の解消を議論憲法47条と92条の改正を目指す方針確認した。

『全体会合って何よ?この日って9月20日から二ヶ月ぶりだから11月だろ?自衛隊明記や云々で、なぜ参院選の合区解消を議論してんの、さっき改憲4項目って言ったじゃん!47条と92条を目指す方針確認してんのに、さっきの合区はなんだったんだ……』

タネ明かしすれば、これは朝日新聞ニュースな。合区解消へ、47条と92条改憲の方針 自民の推進本部:朝日新聞デジタル

自民党憲法改正推進本部細田博之本部長)は16日、衆院選後初となる全体会合を開き、憲法論議を再始動した。」ってところからスタートしてる。

んでさ、オマエさんの次の文って、これニューヨーク・タイムズだろ?

The House is set on Thursday to pass its own version of the tax bill, which would cut taxes by more than $1.4 trillion over 10 years and broadly rewrite the business tax code.

Tax Bill Thrown Into Uncertainty as First G.O.P. Senator Comes Out Against It - The New York Times

英語でも日本語でも新聞写真がモノ言うからさ、

もう記事見たら一発でロイ・ウィデンさんがなんか告発して、オリンハッチさんが睨んでんな、揉めてんだろうなって判るじゃん。

その百聞は一見に如かずという写真キャプションに、そのまんまのことが書いてるじゃん。

Twitter上には画像説明載ってないけど、記事中の写真に対する説明文ね)

Senator Ron Wyden, Democrat of Oregon, left, clashed with Senator Orrin G. Hatch, Republican of Utah, right, during a hearing of the Senate Finance Committee on Wednesday. Credit Eric Thayer for The New York Times

上院議員同士の揉め事ね、アメリカ合衆国上院財政委員会聴聞会で揉めたのね。

んで、省いたのがワザとかどうか分かんないけど、記事最初の文ってこれじゃん。

WASHINGTON — Uncertainty gripped the Senate on Wednesday over efforts to pass a sweeping $1.5 trillion tax cut after a Wisconsin Republican became the first senator in his party to declare that he could not vote for the tax bill as written, and other senators expressed serious misgivings over the cost and effect on the middle class.

全部訳していける人とかはてブにもいっぱいいるだろうけどさ、そういう事が言いたいわけじゃなくてさ。

これ読みたいの?絵本だと簡単すぎてヤなんだろ?

自民党憲法改正推進本部の全体会合と同じでさ、読みたくない記事読んでも楽しくないよ?

そもそもさ、共和党の票をトランプさんが取りまとめて税制改革するって話を知らないとさ、読んでも意味わかんないだろ?

The New York Timesでこの記事を読む人は、Ron Wydenが民主党だって知ってるよ?Orrin Hatch共和党なのも当たり前の知識だぜ。

自民党憲法改正推進本部記事に「公明党の根強い慎重論が」っていきなり書いても問題ないのは、自公連立政権だって記事読むやつは当然知ってるから省いてるってことだよ?

誰に何を吹き込まれたのか知らないけどさ、やっぱ興味のないモン読んでもツマンナイよ。

例えばさ、ニューヨーク・タイムズだったらHEALTH欄とかあるじゃん

オレなんかは、↓みたいな記事は気になって読む。単語とか分かんなかったら調べて読む。

なんでかって言うと、「オレは」血圧を下げる方法みたいな記事が気になるから

How to Lower Your Blood Pressure - The New York Times

人によって気になる記事が違うなんてのは当たり前なんだから、まずは自分の好きな記事を探すところからだと思うよ。

はてなに巣食うんだったらこんな記事とかさ→A New Phone Comes Out. Yours Slows Down. A Conspiracy? No. - The New York Times

興味のある記事を探して読んでみたいなと思って読む、とかにしないと、何の興味もない米国税制改革揉め事読んだって、そりゃ楽しくは無かろうよ。

https://anond.hatelabo.jp/20171116210216

anond:20171116210216

文法知識が足りなさすぎるんじゃないかなー。

The House is set on Thursday to pass its own version of the tax bill, which would cut taxes by more than $1.4 trillion over 10 years and broadly rewrite the business tax code.

一般的約束というかルールを覚えれば段々と楽になってくるよ。

例えば

The Houseは次の文章で Senateが出てきてることからもわかるけど、下院

受動態は主語を言いたくない時に使う(主語 set the House だと主語を言わないといけないので受動態になってる)

・, + which は追加の説明限定用法と非限定用法という言葉を聞いたこと無い? I have a child who loves dogs. だと、何人子供いるかからないけどとにかくそうちの犬が好きな子供のことをさしていて、I have a child, who loves dogs だと子供が一人いて、その子供は犬が好き。

・○○●(←犬好きが居る)

・●(←1人で、そいつは犬好き)

あとは文章の固まりの捉え方(英語学界隈ではチャンクとか言うみたいね

自分がこの文章を見た時は、

The House is set 下院がセットされる

on Thursday 木曜日

to pass its own version of the tax bill 自分のとこのバージョン法案を通すために

・・・この時点で、ああ、木曜日法案通すための会議がセットされるのね。でもその法案って何よ? と理解した(the tax bill なので、一般常識を持ったみなさんならご存知のあの法案ですよ、なのかこれから説明されるのか、あるいは前の文章説明されてるのかはまだわからない)

で、, which がでてきて、ここから the tax bill の補足説明がはじまるのね、と気づいた。

ちなみにこの by は he is older than her by 5 years とかの by だね。

だーっと書いたけど、まぁこんな感じ。高校レベル文法を徹底的にやるとこれぐらいならできるようになるよ(高校レベルっと言っても全然馬鹿にできない。普通に実用レベルまで)。

2017-11-16

anond:20171116210216

2つめの文は、which以降を別の文として読む。「〜というのは」みたいな感じ。

The House : よく分からんけど国会的な物でしょう。

is set on Thursday : 受動なのは動作主体が他だから大統領? / 国会(みたいなの)が木曜に開催される。

to pass : (法案を)通す。

its own version of the tax bill : 今回の会のという意味its own version

which would cut taxes by more than $1.4 trillion over 10 years : by普通に「〜による」みたいな感じで良いんじゃない。

and broadly rewrite the business tax code. : 法人税やね。would rewriteからs抜ける・・・


But as with the health care debate earlier this year, the Senate emerged as the inconstant ally in President Trump’s pursuit of a major legislative accomplishment in his first year.

But〜year,まで : オバマケアトランプが止めた話・・・。(政治の話になってるね・・・

the Senate emerged as the inconstant ally : Senateがトランプの味方として出てきた。

in President Trump’s pursuit of a major legislative accomplishment in his first year. : トランプの初年度の立法的成果。

いやー全然うまく説明出来ん。

結局英語ってどうやったらスラスラ読めて読書とか楽しいって思えるの

たまに洋書とか買ってくるんだけど「えっと、これはこれがここにかかってるから……」とか「なにこの単語」ってなって全然楽しく読めないし第一からない

最近ボキャビルするかって思って単語を例文集使ってひたすらやってるんだけど、文を読んでるとすぐに知らん単語や知らんコロケーションが出てきて発狂しそうになる

あと簡単な文でも、文の切り方わからないときとかあるんよ。構造さえつかめれば「あーそういうことね」ってスッキリするのに、構造がつかめるまでモヤモヤ感がひどい

ネイティブが書く表現が一番わけわからない。簡単単語だけで難しい抽象的な表現使ってくるし、あいつら結構文法間違ってるけど脳内で変更してんのな

日本語でいうと「ほんまそれなわかるめっちゃわらうわろた」みたいな超カジュアルな文、全然からない。悲しい

日本語でいうと「返すのはいいけどていうかその前にまず俺の話聞いてくれないとまじ困るんだけどその上で言っちゃってる?」みたいな、単語同士の関係が複雑なやつも読めない

少しずつやってきたからかTOEICで750ぐらいは取れるようになってきたんだけど、全く「英語できます!!」って感覚じゃない

英語できなさすぎてつらい死にたいって感覚のほうが近い

文法やれ!単語やれ!発音やれ!」とか言うけど、何をどのくらいやれば俺の求めるレベルになるのかわからない

英語楽しい人って何をもって楽しいって思ってるの?そりゃすらすら読めてるとき楽しいけど、読めてないと楽しくないよ

英語絵本とか何冊か買って読んでみて、それは読めるんだけど今度はおもしろくない。読めるけど全然おもしろくないから読まなくなったしたまに読めなくて涙目になる

日本語のようにスッキリ読めるようになりたい。

There is an apple an apple gone bad but I want you to drink this.

くらいなら

「Thereにはan appleがあってgone badだけどIはwantだよyouがdrink thisするのを!」みたいに読めて「おいおいりんご飲ませるのかよ勘弁してくれよアニーしかもan apple2回書いてあるしわろうた」って思いながら読めるけど、

↓みたいのだともうダメ。なんなの?バカなの?死ぬの?

The House is set on Thursday to pass its own version of the tax bill, which would cut taxes by more than $1.4 trillion over 10 years and broadly rewrite the business tax code.

The Houseハウスホワイトハウスかな?
is set on Thursday なぜ受動態。set on…?どういう意味だ。ハウスon Thursdayにsetされる???
to pass もうこの時点で理解放棄しているが一応続きを読むパスしたんやね
its own version of the tax bill the tax billのits own versionってなんやねん。税法案のown version草案かな…? (ちなみにこの時点でThe House主語であることは記憶から吹っ飛んでいる)
which would cut taxes by more than $1.4 trillion over 10 years よくわからんけど10年間で1.4trillionドル以上の税金カットするtax billなんやな。あと毎回思うけどこれはどういう感覚byなんだ。
and broadly rewrite the business tax code. (would からover 10 yearsまでを解析していたために何に対してここがかかっているのか忘れている) business tax codeってなんやねん。rewriterewritesじゃないの?


こんな感じ。こうなるともう全然楽しくない。少しも楽しくない。

楽しい人はたぶん「じゃあ今の文章暗唱してみて」って言うと、わりと合ってる。俺はダメ

今何も見ずに入力してみたら「The House is set on Thursday to pass its own version of the tax bill, which」までしか書けなかった。

But as with the health care debate earlier this year, the Senate emerged as the inconstant ally in President Trump’s pursuit of a major legislative accomplishment in his first year.

続くこれ。But as withでジンマシンが出る。勘弁してくれよアニーってなる。

the Senate emergedで「なんでここで上院議員出現したんや。主張とかって意味かな?」って思う。

allyって確か同盟とかそんな意味だよな。Trumpのpursuitの中でのinconstant ally?つーかこのasは何」ってなる。

もうダメ。しっかり調べれば読めるんだろうけど、そんなことして楽しい?楽しくないよ!!

それでなにこれは一体どうすれば気持ちよく読めるようになるわけ?

英語得意な人本当にどうすればいいか教えて欲しい

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