「all」を含む日記 RSS

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

2018-12-19

anond:20181219115616 anond:20181219115933

自演じゃないけどフェミニストは「社会的政治的そして経済的性別平等と信じる人のこと」ではなく、

フェミニスト女性一方的権利拡張だと理解し、

DiorはWe should all be feminists の Tシャツを作ったと思っているの?

男女ともフェミニストであるべきだそうです by Dior anond:20181219113308

元ネタ

■We should all be feminists チママンダ・ンゴズィ・アディーチェ https://youtu.be/hg3umXU_qWc

フェニミストについて辞書で調べた時こう書いてありました。

社会的政治的そして経済的性別平等と信じる人のこと」

曽祖母はフェニミストでした。

結婚したくなかった男の家から逃げ出し、最終的に自分で選んだ男性と結ばれました。

彼女拒否し抗議し意見を述べました。

権利を奪われたと感じたり土地問題などが浮上した時には

曽祖母はフェニミストと言う言葉を知りませんでした。

からと言ってフェニミストじゃないと言う訳ではありません。

もっと多くの人がこの言葉を使うべきです。


(略)

個人定義するフェニミストとは男性女性でこのように言う人です
今日ジェンダーに関する問題存在し、それを直さないといけない。もっと努力すべきだと」


2018-12-17

mandolin orangejohn hiatt にはまった

youtube適当音楽流しているうちに mandolin orange にはまった。2010ごろから活動しているみたいだけど、全然知らなかった。

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

90年代以降のポップソングカントリーフォーマットでやってる感じ。

マーリンの声と曲がめっちゃ刺さる。エモいんだけどロック的なエモさじゃなくてもっと内向的で佇んでいる感が強い。そんでやたら美しい。

エミリーバイオリンめっちゃうまい(気がする)。ギターも歌もうまいけど突出してはないかな。。でもバイオリンは他のカントリー系のバイオリンとは明らかに違う気がする。


上の動画最近動画だけど下のは 2010 頃の。

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

曲/歌の魅力はこのころからすでに突出しているけど、まだ要素が完全に整理されていない部分もあるかも。エミリーエレキギター弾いていてるけど、その後ギタリスト雇ったのは正解だと思う。でも 2010 頃のエミリーさんメッチャかわいい。今に至るまでずっと綺麗な人だけど。


マーリンの声はむちゃくちゃ硬いと思うんだけど、最近動画では歌い上げ感も出てきてやや穏やかさも感じられて良い。が、個人的には硬さが勝った歌がやたら胸に来るんだよね。これとか。(ディラン!)

https://youtu.be/dv6ERkkaifk?t=1206


色々動画挙げたけど、俺がはまるきっかけになったのは下。この曲は mandolin orange の曲の中ではちょっと異質なのかもしれないけど、中毒性が凄い。何か凄いのか言語化できないけど何かがヤバい毎日5回は再生してる。

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


----------------------------


あとなぜか jhon hiatt にハマった。

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

師匠歌丸師匠? いや jhon hiatt か。。って感じのビジュアル。さすがに歌は衰えてるんだけど曲はあいかわらずかっこいい。こんだけキャリア重ねてきて、まだ曲書いて歌ってる彼の姿勢がなんかグッとくる。All the Way to the River で声を張り切れないんだけど、でも張りに行ってるところとかね。過去のヒットソングを歌ってるだけの大御所とは違う。新しい才能が次々現れるアメリカで今さら彼が大きく取り上げられることはないんだろうけど、今の彼の歌は聞く価値がある気がする。


ちなみに、まだギンギンのころのハイアットコメントに best dad band とか書かれてて草w。そのへんのパッパだったら最後ロングトーンの途中で死ぬと思うけどね。

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


彼のキャリアにおいてビジュアル面でカッコイイとかい評価を得たことは(若いころはあったかもしれないが)皆無だと思うんだけど、最近出たアルバムPV が曲だけじゃなくてビジュアルもカッコいいというまさかの展開。

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


なんかハイアットの紹介としてはギミックな内容になってるけど、名曲が多いひとなので良かったら掘ってみて。

2018-12-16

世界文学ベスト100」の英米バージョンを調べてみた

文学ベスト100と検索すると、国内に限ってもいろいろなランキングが出てくる。英語圏では、ベスト100を選んだときどのような小説ランクインするのか、気になって調べてみた。

そうすると、日本と同様にたくさんの種類のランキングが出てくるが、これらをひとつひとつ紹介するのも退屈だ。

から、それなりに信頼がありそうないくつかのランキングを選んで、それらにくり返し選出されている作品名をここに挙げてみたいと思う。

なにをもって信頼があるというのかは難しい問題だが、だいたい以下のような基準を満たしているランキングだけを取り上げることにした。

英語圏文学に偏っていないこと

 英語検索しているからには、英語で書かれた小説が多くランクインするのは当然なのだが、英語圏に限らず、世界文学を選出の対象にしていることを条件とした。なので英米文学オンリーとかなのは避けた。

・あまり最近小説大衆小説を選んでいないこと

 2000年以降に発表された小説割合が高すぎたり、「ハリー・ポッターシリーズ」のような、あまりエンタメ寄りの小説を選出しているものは除外した。

 「ハリー・ポッター」が文学かどうかは知らないが、それが文学ベスト100に選ばれているランキングが参考になるかというと、あまりならないんじゃないかな。

古今東西作品から選ぼうとする意思が認められるもの

 どのランキングにしても19世紀以降の西洋文学に偏りすぎなのだが、そこはもう仕方がない。


このような基準で選んだランキングは以下の4つ。検索すればソースはすぐ出てくると思う。

ガーディアン誌による「The 100 greatest novels of all time」(いつ誌上に掲載されたのかはわからなかった)

Goodreadsによる 「Top 100 Literary Novels of All Time」(国内でいうと読書メーター読書ログみたいな位置づけのサイトユーザー投票して選出している)

・Modern Library(アメリカ出版社)による「100 best novels」

アメリカ文学Daniel S. Burtによる「the Novel 100: A Ranking of the Greatest Novels of All Time」(同タイトル書籍がある。Burtは英文学講師をしていたらしい)

4つのランキングのうちすべてに選出された作品は、ナボコフの「ロリータ」と、ジョイスの「ユリシーズ」の2つだった。ロリータすごい。

4つのランキングのうち3つに選出されたのは、以下の28作品

タイトル作者
インドへの道 フォースター
アメリカの悲劇 ドライサー
アンナ・カレーニナトルストイ
すばらしい新世界クスリ
回想のブライズヘッド イーヴリン・ウォー
キャッチ=22 ジョセフ・ヘラ
ドン・キホーテセルバンテス
失われた時を求めてプルースト
フィネガンズ・ウェイクジョイス
見えない人間ラルフエリソン
ジェイン・エアシャーロット・ブロンテ
白鯨メルヴィル
アメリカの息子 リチャード・ライト
ストローコンラッド
オン・ザ・ロードケルアック
百年の孤独ガルシアマルケス
カラマーゾフの兄弟ドストエフスキー
ライ麦畑でつかまえてサリンジャー
善良な軍人フォード
怒りの葡萄スタインベック
グレート・ギャツビーフィッツジェラルド
緋文字ホーソーン
響きと怒りフォークナー
ブリキの太鼓ギュンター・グラス
崩れゆく絆 チヌア・アチェ
灯台へヴァージニア・ウルフ
火山の下で マルコム・ラウリー
嵐が丘エミリー・ブロンテ


このうち22作品はすでに読んでいた。

けっこうそれっぽいタイトルが並んでいるように見えるが、日本ではほとんどなじみのない作家も中にはいる。ジョセフ・ヘラーとかフォード・マドックス・フォードとか。

フォードの「善良な軍人」が翻訳されているかはわからなかったが、これを除けばすべて翻訳で読むことができる。すばらしい。

2018-12-15

マライア・キャリーAll I want for christmas is youはお正月の歌である

アメリカではクリスマス恋人たちの聖夜ではなく(どっちかというとバレンタインがそう)、離れて暮らす家族と集まって豪華な食事を食う日だ。この日に合わせて会社なども休みになるところが多い。つまり日本で言うところの正月だ。

プレゼントを貰うのは、子供役割だ。いわば、正月にジジババからお年玉を貰う子供の図そのものである大人お年玉を貰うのはちょっと変、そういう感覚

さてタイトルにあるマライア・キャリー名曲All I want for Christmas is you(たぶん一度は聞いたことがあるはずだ)は、プレゼントなんかいらない、クリスマスにはあなたがほしいわ〜って曲だ。

この曲が出たアメリカでは、だからちょっと違和感面白いなのだ

言ってみれば、セクシー日本歌手が、お年玉はいらないわ。3DSも、スイッチもいらない。お正月にはあなたがいてほしいの♥みたいに歌ってる曲なのだ

2018-12-12

ふたり(以外)はプリキュア【加筆修正版】

その世界では、誰もがプリティでキュアな存在プリキュアに変身できた。

ただ 2人の例外、ホカノとサナギを除いては。

物心ついて、そのことに気づいた2人は、悲しみにくれた。

何度試しても、変身はできない。

2人は、この世界では凡人にすら達していなかった。

そんな2人ではあったが、周囲の人々は、とても親切に接してくれた。

プリキュアには、原則として悪人はいない。

2人は、優しい人々に囲まれ、健やかに成長していった。


そんなささやか日常は、仮面をつけた者らが世界に現れることで壊される。

仮面ライダーを名乗る彼らは、次々とプリキュア達を襲っていく。

全員がプリキュアであるがゆえに、悪意や犯罪免疫のなかった世界

OMENライター666を始めとするライダー達に、抵抗できる者はいなかった。

プリキュア達がドキドキする暇もなく、ライダーは、その身ぐるみをHUGか、心臓ハート)を鋭い爪で鷲掴み(キャッチ)していった。

街に溢れるのは、血しぶき(スプラッシュ)と、ひめいと殺人者キラ)。

そして、数々のフレッシュ死体

魔法かい救世主イエス)はどこにも見当たらず、圧倒的な突撃チャージ)に世界はコウフク寸前だった。

それは、平和な日々しか知らない世界にとって、最大限(マックス)にハート〝な状況だっただろう。

まり惨状を目の当たりにして、ホカノとサナギは、気を失う。

彼女達にとっては、ライダーこそが「衝撃をもたらすものショッカー)」だった。

2人は、気絶している間に、不思議な夢を見る。

夢の中で、ホカノとサナギは、全人類仮面ライダーである並行世界の住人だった。

仮面ライダーが増殖しすぎた世界から新天地を求めて並行世界へと送り込まれ尖兵

それが、ホカノとサナギだった。

2人は、気がかりな夢から目ざめたとき自分達が2匹の巨大な毒虫に変わってしまっているのに気付いた。

あの夢が見せたのは、真実だったのだ。

「他の」世界から来た「蛹」だった2人。

2人は羽化し、あれほど焦がれた「変身」をしていた。

その姿は、決してプリティではなく、キュアからもかけ離れていたが、この世界で2人だけが、悲しみと絶望を知っていた。

ライダーに対抗できるのは、

世界広し、

といえども、彼女達だけだった。

2人は、優しかったプリキュア達に報いるため、「大きなお友達」として戦った。

2人の活躍戦線は膠着し、両陣営停戦合意に至る。

ほっとしたのもつかの間、新たな敵が並行世界からやって来る。

EXILEだ。

EXILE達は、全人類EXILEグループになった並行世界から、重戦機に乗ってEXILEしてきたのだ。

彼らの掲げるスローガンは、LOVEDREAMHAPPINESS

それは、皮肉にも、プリキュアテーマとも共通していた。

もっとも、古来、戦争なんてそんなものだったのかもしれない。

EXILEタイミングずらして回るやつに巻き込まれ、倒れていくプリキュアライダー達。

そのエグい行為は、万死(die)に値したが、プリキュア達に、なすすべはなかった。

ランニングマンに仲間達が次々とちぎられ、ライダー側の大将は、もはや裸同然だった。

プリキュア世界崩壊かと思われた瞬間、世界に現れたのは、栗まんじゅうだった。

まんじゅうは、停戦を呼びかけるとともに、これまでの全てを語り始めた。

全ての始まりは、あるロボット少年だった。

あんな夢も、こんな夢も、全ての夢(All I Want)を叶えてくれるロボットだ。

彼らは、栗まんじゅうを、倍々に増殖させ始めた。

そして、増殖を続ける栗まんじゅうの扱いに窮し、これらを宇宙に投棄したのだ。

まんじゅうは、増殖を続け、やがて、互いに引き寄せ合って結合し、星を形成する。

まんじゅう製にして、

まんじゅう性を持つ、

まんじゅうである

この星を遠くから観測する者がいたならば、きっと、虚空に1つの巨大な栗まんじゅうが浮かんでいるように見えただろう。

さらに、栗まんじゅうは増殖を続け、やがて、シュヴァルツシルト半径が星の半径を凌駕し、ブラックホール形成される。

ブラックホールは、増殖を続け、自らの存在する世界を満たすと、他の並行世界へと進出して、あらゆるものを吸収していった。

ある並行世界では、増殖し続けるスーパー戦隊を。

ある並行世界では、AKBグループ坂道シリーズを。

Vtuberを。

楽天カードマンを。

コンビニを。

赤字国債を。

ワカメを。

あらゆる存在は、事象の地平面のかなたへと消えていき、漆黒の棺へと埋葬された。

外部からは、ただホーキング放射のみが観測できるのみ。

もっとも、もはや観測する者も存在しなかった。

ある因果律の狂った並行世界では、スマブラザ参戦者であるカービィを吸収した。

「それゆえに」、吸収した対象能力コピーできるようになった。

ある並行世界では、始まりの男女に出会う。

ブラックホールヘヴィーな力は、知恵の実もろとも彼らを吸収した。

(ホカノとサナギは、知恵の実の話を聞くと、なぜか本能的な恐怖を感じた。)

それ以来、栗まんじゅうは、知性を獲得した。

知性を獲得した栗まんじゅうは、無軌道な吸収・拡大をやめる。

このまま続けていれば、並行世界全体を包含する多次元宇宙崩壊してしまうからだ。

こうして、栗まんじゅうは、プリキュアEXILEの元にやってきた。

まんじゅうは、多次元宇宙崩壊を防ぐ手段として、Vtuberを吸収して得た、バ美肉能力を用いた。

並行世界をそれぞれ1人ずつの人間に集約したのである

そうして出来た新しい世界では、1人1人の人間が、それぞれ内に秘めた並行世界コスモ)を持っているのだ。

人々の歴史記憶改ざんされ、各グループの増殖スピード抑制された。

記憶が消されたとはいえ、人々は、潜在的記憶から影響を受ける。

複数存在したプリキュア世界から生成された人々は、プリキュアアニメの作り手や重度のオタクになった。

人々の深層心理に強く刻まれたホカノとサナギは、初代主人公モデルになる。

アニメの中の2人は、誰よりもプリティでキュアな存在だった。

まんじゅうはというと、あらゆる能力を手放して、1人の人間になることにした。

まんじゅうは、気付きつつあった。

知覚はできなくても、どこかにきっと他の多次元宇宙があることに。

どんなにコントロールしようとしても、人々の愛と欲望がある限り、また、何かが増殖し続けてしまうだろうことに。

この多次元宇宙もやがて何か一色になり、他の多次元宇宙と争いになるだろう。

その結果、運が良ければ、各多次元宇宙は、1人1人の人間に生まれ変わるだろう。

きっと、こうして歴史がくり返されてきたのだ。

世界は、いつだってフラクタルに満ちている。

まんじゅうは、運命に身を委ねることを決めた。

究極にして思考できる栗まんじゅうは、1人の人間栗子になったのである

まれた時は、ただ人間に食べられるだけの存在だった。

今度は、美味しいものが食べられると良いな、と思いながら。

anond:20181204210224

2018-12-07

I am honored to be with you today at your commencement from one of the finest universities in the world. Truth be told, I never graduated from college. and, this is the closest I’ve ever gotten to a college graduation. Today I want to tell you three stories from my life. That’s it. No big deal. Just three stories. The first story is about connecting the dots. I dropped out of Reed College after the first 6 months, but then stayed around as a drop-in for another 18 months or so before I really quit. So why did I drop out? It started before I was born. My biological mother was a young, unwed college graduate student, and she decided to put me up for adoption. She felt very strongly that I should be adopted by college graduates, so everything was all set for me to be adopted at birth by a lawyer and his wife. Except that when I popped out they decided at the last minute that they really wanted a girl. So my parents, who were on a waiting list, got a call in the middle of the night asking: “We have an unexpected baby boy; do you want him?” They said: “Of course.” My biological mother later found out that my mother had never graduated from college and that my father had never graduated from high school. She refused to sign the final adoption papers. She only relented a few months later when my parents promised that I would someday go to college. And 17 years later I did go to college. But I naively chose a college that was almost as expensive as Stanford, and all of my working-class parents’ savings were being spent on my college tuition. After six months, I couldn’t see the value in it. I had no idea what I wanted to do with my life and no idea how college was going to help me figure it out. And here I was spending all of the money my parents had saved their entire life. So I decided to drop out and trust that it would all work out OK. It was pretty scary at the time, but looking back it was one of the best decisions I ever made. The minute I dropped out I could stop taking the required classes that didn’t interest me, and begin dropping in on the ones that looked interesting. It wasn’t all romantic. I didn’t have a dorm room, so I slept on the floor in friends’ rooms, I returned Coke bottles for the 5¢ deposits to buy food with, and I would walk the 7 miles across town every Sunday night to get one good meal a week at the Hare Krishna temple. I loved it. And much of what I stumbled into by following my curiosity and intuition turned out to be priceless later on. Let me give you one example: Reed College at that time offered perhaps the best calligraphy instruction in the country. Throughout the campus every poster, every label on every drawer, was beautifully hand calligraphed. Because I had dropped out and didn’t have to take the normal classes, I decided to take a calligraphy class to learn how to do this. I learned about serif and sans serif typefaces, about varying the amount of space between different letter combinations, about what makes great typography great. It was beautiful, historical, artistically subtle in a way that science can’t capture, and I found it fascinating. None of this had even a hope of any practical application in my life. But 10 years later, when we were designing the first Macintosh computer, it all came back to me. And we designed it all into the Mac. It was the first computer with beautiful typography. If I had never dropped in on that single course in college, the Mac would have never had multiple typefaces or proportionally spaced fonts. And since Windows just copied the Mac, it’s likely that no personal computer would have them. If I had never dropped out, I would have never dropped in on this calligraphy class, and personal computers might not have the wonderful typography that they do. Of course it was impossible to connect the dots looking forward when I was in college. But it was very, very clear looking backward 10 years later. Again, you can’t connect the dots looking forward; you can only connect them looking backward. So you have to trust that the dots will somehow connect in your future. You have to trust in somethingyour gut, destiny, life, karma, whatever. This approach has never let me down, and it has made all the difference in my life. My second story is about love and loss. I was lucky — I found what I loved to do early in life. Woz and I started Apple in my parents’ garage when I was 20. We worked hard, and in 10 years Apple had grown from just the two of us in a garage into a $2 billion company with over 4,000 employees. We had just released our finest creation — the Macintosh — a year earlier, and I had just turned 30. And then I got fired. How can you get fired from a company you started? Well, as Apple grew we hired someone who I thought was very talented to run the company with me, and for the first year or so things went well. But then our visions of the future began to diverge and eventually we had a falling out. When we did, our Board of Directors sided with him. So at 30 I was out. And very publicly out. What had been the focus of my entire adult life was gone, and it was devastating. I really didn’t know what to do for a few months. I felt that I had let the previous generation of entrepreneurs down — that I had dropped the baton as it was being passed to me. I met with David Packard and Bob Noyce and tried to apologize for screwing up so badly. I was a very public failure, and I even thought about running away from the valley. But something slowly began to dawn on me — I still loved what I did. The turn of events at Apple had not changed that one bit. I had been rejected, but I was still in love. And so I decided to start over. I didn’t see it then, but it turned out that getting fired from Apple was the best thing that could have ever happened to me. The heaviness of being successful was replaced by the lightness of being a beginner again, less sure about everything. It freed me to enter one of the most creative periods of my life. During the next five years, I started a company named NeXT, another company named Pixar, and fell in love with an amazing woman who would become my wife. Pixar went on to create the world’s first computer animated feature film, Toy Story, and is now the most successful animation studio in the world. In a remarkable turn of events, Apple bought NeXT, I returned to Apple, and the technology we developed at NeXT is at the heart of Apple’s current renaissance. And Laurene and I have a wonderful family together. I’m pretty sure none of this would have happened if I hadn’t been fired from Apple. It was awful tasting medicine, but I guess the patient needed it. Sometimes life hits you in the head with a brick. Don’t lose faith. I’m convinced that the only thing that kept me going was that I loved what I did. You’ve got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven’t found it yet, keep looking. Don’t settle. As with all matters of the heart, youll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don’t settle. My third story is about death. When I was 17, I read a quote that went something like: “If you live each day as if it was your last, someday youll most certainly be right.” It made an impression on me, and since then, for the past 33 years, I have looked in the mirror every morning and asked myself: “If today were the last day of my life, would I want to do what I am about to do today?” And whenever the answer has been “No” for too many days in a row, I know I need to change something. Remembering that I’ll be dead soon is the most important tool I’ve ever encountered to help me make the big choices in life. Because almost everythingall external expectations, all pride, all fear of embarrassment or failure — these things just fall away in the face of death, leaving only what is truly important. Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart. About a year ago I was diagnosed with cancer. I had a scan at 7:30 in the morning, and it clearly showed a tumor on my pancreas. I didn’t even know what a pancreas was. The doctors told me this was almost certainly a type of cancer that is incurable, and that I should expect to live no longer than three to six months. My doctor advised me to go home and get my affairs in order, which is doctor’s code for prepare to die. It means to try to tell your kids everything you thought you’d have the next 10 years to tell them in just a few months. It means to make sure everything is buttoned up so that it will be as easy as possible for your family. It means to say your goodbyes. I lived with that diagnosis all day. Later that evening I had a biopsy, where they stuck an endoscope down my throat, through my stomach and into my intestines, put a needle into my pancreas and got a few cells from the tumor. I was sedated, but my wife, who was there, told me that when they viewed the cells under a microscope the doctors started crying because it turned out to be a very rare form of pancreatic cancer that is curable with surgery. I had the surgery and I’m fine now. This was the closest I’ve been to facing death, and I hope it’s the closest I get for a few more decades. Having lived through it, I can now say this to you with a bit more certainty than when death was a useful but purely intellectual concept: No one wants to die. Even people who want to go to heaven don’t want to die to get there. And yet death is the destination we all share. No one has ever escaped it. And that is as it should be, because Death is very likely the single best invention of Life. It is Life’s change agent. It clears out the old to make way for the new. Right now the new is you, but someday not too long from now, you will gradually become the old and be cleared away. Sorry to be so dramatic, but it is quite true. Your time is limited, so don’t waste it living someone else’s life. Don’t be trapped by dogma — which is living with the results of other people’s thinking. Don’t let the noise of others’ opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary. When I was young, there was an amazing publication called The Whole Earth Catalog, which was one of the bibles of my generation It was created by a fellow named Stewart Brand not far from here in Menlo Park, and he brought it to life with his poetic touch. This was in the late 1960s, before personal computers and desktop publishing, so it was all made with typewriters, scissors and Polaroid cameras. It was sort of like Google in paperback form, 35 years before Google came along: It was idealistic, and overflowing with neat tools and great notions. Stewart and his team put out several issues of The Whole Earth Catalog, and then when it had run its course, they put out a final issue. It was the mid-1970s, and I was your age. On the back cover of their final issue was a photograph of an early morning country road, the kind you might find yourself hitchhiking on if you were so adventurous. Beneath it were the words: “Stay Hungry. Stay Foolish.” It was their farewell message as they signed off. Stay Hungry. Stay Foolish. And I have always wished that for myself. And now, as you graduate to begin anew, I wish that for you. Stay Hungry. Stay Foolish. Thank you all very much.

anond:20181207115248

テスト

2018-12-06

Ich danke dir für all das Gut und Liebe und Schöne.

Der Welt ist wunderbar.

2018-12-05

「とにかく女性を避けよ」の記事、前半しか訳されていない

ウォール街、「#MeToo」時代新ルール-とにかく女性を避けよ - Bloomberg

http://b.hatena.ne.jp/entry/s/www.bloomberg.co.jp/news/articles/2018-12-03/PJ5GIH6JTSEL01

話題のこの記事、前半の抜粋部分しか日本語訳されてないので前半しか見てない人が多いと思うけど、

後半に『アフターパーティー飲み会での打ち合わせなど)をなくす』とか『ドアが開いたままのボスとのプライベートミーティングをする』『ミーティング第三者を呼ぶ』などの対策が挙げられていて、

最後にContext Capital Partnersのロン・ビスカルディ最高経営責任者CEO)の

ゲス野郎にならなければいい話。 それほど難しいことではない」

という発言結論を締めている。

また、『There’s a danger, too, for companies that fail to squash the isolating backlash and don’t take steps to have top managers be open about the issue and make it safe for everyone to discuss it, said Stephen Zweig, an employment attorney with FordHarrison.』とあるので、

me tooを恐れて女性仕事から遠ざけてしまうことで、セクハラ訴訟から性差別訴訟に発展するだろうと書いてある。

単純に『Avoid Women at All Cost』ではコスト回避にならないという結論だ。

どうして前半しか訳されてないのか。

訳者日本人が前半しか賛同できなかったのか、

それとも前半だけの方が日本人ウケる判断されたのか

何にせよ、日米の意識の違いというか、フェミニズム浸透の差を感じる。

どちらにせよブコメで騒いでる人たちは結論変わらないだろうけど

2018-12-03

労働家事バランス

日本他国に比べ男女の労働時間の差が大きく、そのぶん家事時間差も大きい。

徐々に長時間労働が減ってきているうえ女性労働時間が増えてきているのに、男性家事時間が増えないために格差が発生するということが今後出てくるかもしれない。

Balancing paid work, unpaid work and leisure

http://www.oecd.org/gender/data/balancingpaidworkunpaidworkandleisure.htm

各国の男女が一日の時間(分)を何に使っているかデータ

日本米国ドイツフランス英国イタリアカナダ韓国スウェーデンノルウェーフィンランドデンマークmale/femaleを抜き出した。

各国がそれぞれ行ってる調査をすり合わせたものなので調査内容が国によって違っていることに注意。詳細は元ファイルの "Activity classification" シートを参照。

調査は15~64歳を対象。国によって調査年はバラバラ

日本は左が2011年、右が2016年調査日本の色付きの部分は2つの項の合算値。

CountryJP/mJP/fUS/mUS/fDE/mDE/fFR/mFR/fGB/mGB/fIT/mIT/fCA/mCA/fKR/mKR/fSE/m*SE/f*NO/mNO/fFI/mFI/fDK/mDK/f
Paid work or study471452206272335246290205235175309216221133341268422273322269277200249210260195
paid work (all jobs)37536017820327519022715417411822815916084270206282167268212199129198157211147
travel to and from work/study5054213326183324262049302716332574422119362321202918
time in school or classes363863619221514242415121412212058551014352928311319
research/homework80111510981214131316141699....414....710
job search2..0..311131214121....................
other paid work or study-related0..0..0053101133............4522....
Unpaid work624129922415024315024213522414024913130614822445227154207168227157236186243
routine housework24141991487612781139971577513264205951342113879955611484134107145
shopping161537351827273718262336233219296201316152623292230
care for household members7..26..20421226143017471835193910481725143414322035
child care772332184011251329153716331837....132114341331....
adult care1146121111391312....440011....
care for non household members0026671358583501....0025119
volunteering43645775....23323401....664342
travel related to household activities10(see notes)23(see notes)2531172447182318239128191617232520232222
other unpaid1..8..432411....00........4655221110....
Personal care637613656626630662638659743761635655710705622653651654573617615642630651643673
sleeping472448456435519531494503509516504512514512514527461462503543484501505512479497
eating & drinking10491117966361939713413180781291256565107103707481778081118120
"personal household and medical services + travel related to personal care"617482964970505999113506567684361838830496345584657
Leisure240292244266305262346316319270327285366281298260314268314272370366359304340320
sports17141472416282517723164433251731231816212139352520
participating / attending events11..22..66131416146875662365897878
visiting or entertaining friends1215121840465863525842537358535443482732476950607487
TV or radio at home1271031401031571321261111251041451221179011810012512012489140116136101132115
Other leisure activities741605613778621211031098711087126959683113741381311551521279910190
Other294334512027161881030351214323681777769545401110
religious / spiritual activities and civic obligations1..2..10112323456835715....221175
other (no categories)294332511016141567263066293112....73443944
Total14401440144014401440144014401440144014401440144014401440144014401440144014401440144014401440144014401440

日本 Note: Activity 4.4 TV or radio at home also includes reading newspaper or magazines.Activity 5.2 Other also includes all transport time (except commuting to work), which is 30 minutes for all the population (15-64), 28 minutes for men (15-64), and 33 minutes for women (15-64).

フィンランド: The * denotes that time use estimates for Sweden are not fully comparable, due to difference in the age of reference.

女性-男性の差

JPUSDEFRGBITCAKRSENOFIDK
Paid work or study-265-180-89-84-60-92-88-72-149-53-77-39-65
Unpaid work2371849392891091767618253597857
Personal care191332211821-531344272130
Leisure4-26-43-30-49-42-85-38-46-41-4-55-20

女性/男性比率

JPUSDEFRGBITCAKRSENOFIDK
Paid work or study0.440.60.730.710.750.70.60.790.650.830.720.840.75
Unpaid work4.845.51.621.611.661.772.341.515.051.341.351.51.3
Personal care1.031.021.051.031.021.030.991.051.011.081.041.031.05
Leisure1.020.910.860.910.850.870.770.870.850.870.990.850.94

2018-11-29

はじまったばかりなのにtrickle(トリクル)が窮屈になってる

最近公開されたアプリの「trickle(トリクル)」について

http://blog.h13i32maru.jp/entry/2018/11/12/092904

このアプリをやりはじめた。

私はTwitterに窮屈感というか「誰かに監視されているようで好きなこともつぶやけない」といった感情を抱いていた。

それでいて、自分の行動記録をプロフィール欄でみるのが大好きだったので、「これはちょうどいい!」と使い始めた。

最初の方は良かった。まさに気兼ねなくアクティティを記録することが出来た。

それでいてオールアクティティAll Activity)で他の人の興味のあることも分かるためにいたので意外な発見もあって楽しかった。

All ActivityとはTwitterで言ったらアカウントを持っている人全員のつぶやき時系列で流れているようなところだ。

現在All Activityにアクティティを流すか流さないか選択できる)

Twitterくらいユーザーがたくさんいると気にならないが現在7000人弱のtrickle内ではトリ廃と見られる数人のアカウントが常にAll Activityに居座りリンク機能でだれかと会話したり絡んだり

リンク機能を使って反応したりしている。

絡んでくる、とは引用機能を使ってアドバイスをしてきたり、飴やいいね!トピックを作ってそこにリンクコメントすることで「自分は見てますよ」アピールをしてくるということ

  • 一人で黙々と記録することが出来ないのか、この人達

トリ廃達は居座っているからいつ投稿しても反応してくる。

その人に監視されているようだし、まるでその人達のためにアクティティを書いているようでイヤになる。

「だったらAll Activityに流さなきゃいいじゃん」と思う人もいるだろう。

ところがどっこい、トピック自体をそのトリ廃達にサブスクライブフォロー)されてしまうとAll Activityに流れなくてもその人のタイムラインには流れてしまうのだ。

まり、「トリクルをやると居座っているトリ廃に反応されてしまう」という状態

正直、ほおっておいてほしい。trickleはTwitterではないのだ。

自分の行動を記録してくれ。

他人とのコミュニケーションTwitterでやってくれ。

安住の地かと思ったtrickleがはやくも私にとって窮屈な場所になっている。

ブロック機能が、欲しい…

とはいえ、良いサービスなので引き続き使います

モヤっとしてるんだよ、って話でした。

追記

公式さんがAll Activityの機能をあっさり無くしてくれたので解決しました!良かったーー。

ありがとうございます感謝

2018-11-21

Error 404 (Not Found)!!1

https://securepubads.g.doubleclick.net/entry/https%3A%2F%2Fanond.hatelabo.jp%2F20181121xxxxxx

404. That’s an error.

The requested URL /entry/https%3A%2F%2Fanond.hatelabo.jp%2F20181121xxxxxx was not found on this server. That’s all we know.

ブクマしようとしたらこんなの出たんだけどなにこれ?

2018-11-19

現地化

車両誘導オーライと言いながら「オーライオーライであってもはやAll Rightではない何かだよなあ」と思ったりした。

anond:20181119114101

韓国国際的常識から逸脱した判断が下された。

 韓国最高裁判所にあたる大法院は、元徴用工の韓国人4人が新日鉄住金(旧新日本製鉄)に損害賠償を求めていた裁判で、同社に計4億ウォン(約4000万円)の支払いを命じる判決を言い渡したのだ。

 徴用工とは、第2次世界大戦中に工場などで強制労働させられたとする人たちのことだ。日本韓国は国交正常化に伴って1965年に締結した「日韓請求権協定」で、両国および個人財産請求権問題について「完全かつ最終的に解決された」としており、これは両国政府共通認識として戦後日韓関係ベースとなっている。

 しかし、今回の賠償命令は同協定無視する司法判断であり、日本としては決して受け入れられるものではない。

ニュースサイトで読む: https://biz-journal.jp/2018/10/post_25327.html

Copyright © Business Journal All Rights Reserved.

2018-11-18

anond:20181118205819

能がないってゆーか

当時は工具も全部木製で

今ほど効率よく農作業ができなかったわけさ

種まいても発芽率がすごく低かった

ビニルハウスもない、ガラスもないから温室・ハウスもなく

植える前の苗も作れない

種まきなわけね

作業はほぼ人力

運がよくて牛馬がいるレベル

大規模な土木建築ができないか

千枚田みたいな土地が便利だとされたのね

現代においては運搬用車両も通れないし、農地トラクター入れられないか放置されつつある)

んで手工業は秋~冬の農業ができないとき

米の茎の部分や、さつまいもの茎なんかを加工して行ってた

ALL人力でどこまでの数の茎を入手できるかどうか考えてほしい

さらには、昔はスーパーあったわけじゃないか

肉はわなを仕掛けてちょくちょく見回って運よく捕まえられるレベルだし

欲しい野菜は他の農家交渉するか、行商から買うとか

野菜ごとに別の人と交渉しないといけないレベル

魚は自分で取りに行く

当然歩いて移動するので時間クソかかる

生活時間がかかるので、

現代みたいに効率よく手仕事なんてできないんだよ

照明もないからね!!

2018-11-09

Can anyone review my English?

So, this is my first time to write Masuda in English. I am studying English to take IELTS test, but I don’t know what should I do for the writing test.

Is there anyone who can check my English? I prefer someone who has taken IELTS test and got score 7.0 or more.

If there is, could you correct this diary? I know I write informal way, but please check the grammar, spelling and collocation.

I will try to write formally next time.

I want to get score 8.0 over all until 2020. I’m not sure where I am, (I have never taken IELTS) but I think I can get around 6.0 now... hopefully.

By the by, I will take General module, not Academic.

Also, If someone can give me a study tip for IELTS (especially for writing and speaking), that would be great.

Thank you!!! :)

2018-11-08

ウクライナオデッサからメール

Good Thursday, How are you today? Thanks a lot of kind words to me in your letter,

telling me about your blog-I can't open-here very old computers!

I never travel to another countries,but dream.

I like comedy & romantic movies. what about you? I don't have boyfriend,here mostly all men at war.

I had a boyfriend,but he died at war 1,5 years ago.I will be happy to have family with kids & marry with man older than me.

Today no lessons in college,I write you letters from library,because no private computer at home.

I had before a small smartphone,but change it for food 5 month ago. Now we use old nokia together with mom,Ha-ha!

Soon I will finish institute. But here very hard to find any job,all from war here.I know about sushi from TV programs,

but never eat sushi,because sushi restaurants very expensive here.

I don't have boyfriend now,here all men at war.

I have good news: yesterday evening was stopped fire between Ukraine & Russia.

We have big hope that this time it will be true words from Presidents & peace will come,

Because this "stop war" was many times,but it was only words...

I want to tell you that from yesterday really was no hear shots, bombings.

But situation with electric, water & mostly with food still very, very hard. It is very difficult to sell something or to exchange for food, many have no money, and rich people left from Ukraine.

It's a pity that without meat, meat here terrible expensive long ago. When was no war we could buy meat, not often, but we could.But we are happy that we have some vegetables.

Usually here very cold winter, normally-25, - 30, much snow,now autumn +10.

I like to cook very much! Today, I will tell you how to cook borsch:take piece of beef to weld in water, then to cook there potatoes, carrots, cabbage,

it is a little haricot, then we add a little tomato paste, salt, parsley.

Give a borsch very hot with sour cream and garlic. Its very good for health hot dish & you not catch a cold.

Of course garlic isn't good for kisses, but when we will meet I cook borsch for us & we will eat garlic together & then could easy kiss...

May be on today will come my friend Maria.I send you summer photo with my friend Maria.

She lost family at war & have no possible to live in this hard war period,

I was invite her for dinner. I wish you happy, warm day.

2018-11-07

Bomb A Head! 生誕20周年記念盤

1. Bomb A Head! (オリジナル) (TVヴァージョン)

2. Bomb A Head! (インストゥルメンタル)

3. Bomb A Head! (12MIX)

4. Bomb A Head! (The Remix)

5. Bomb A Head! (EXTENDED MIX) (ピストン西沢MIX)

6. Bomb A Head! (m.c.A・T The@Special Primal Live Ver.) (ライブ収録)

7. Bomb A Head!V

8. Bomb A Head! (RAVEMAN mix)

9. Bomb A Head! (AAAヴァージョン)

10. Bomb A Head! (ボサノバヴァージョン)

11. Bomb A Head! (アカペラ) (ボーナストラック)

愛のメモリー(発売35周年 アニバーサリーエディション)

1. 愛のメモリー 2012 ver.

2. 愛のメモリー Bossa ver.

3. 愛のメモリー アルバム「OLD FASHION LOVE SONG」 【2000.11.29 Release】

4. 愛のメモリー アルバム「My Favorite Songs」 【2005.11.2 Release】

5. 愛のメモリー 2009 アルバムYes We Can!!」 【2009.5.27 Release】

6. 愛のメモリー 21 アルバム「OLD FASHION LOVE SONG」 【2000.11.29 Release】

7. 愛のメモリー アルバムMemories of love」 【1994.11.2 Release】

8. 愛のメモリー シングル「愛と復讐の嵐」

9. 愛のメモリー DVD「Emotional Live

10. 愛のメモリー アルバムTIME

11. 愛のメモリー シングル

12. 愛の微笑 (愛のメモリー原曲) 【1975】

13. 愛のメモリー 2012 ver.

14. 愛のメモリー Bossa ver.

Love Somebody 完全盤(初回限定盤)(DVD付)

1. Love Somebody (CINEMA Version IV) (初CD化)

2. Love Somebody (CINEMA Version III) (初CD化)

3. Love Somebody (CINEMA Version II)

4. Love Somebody (AKIRA’S PALMDRIVE REMIX)

5. Love Somebody (CINEMA Version)

6. Love Somebody (Acoustic Version)

7. Love Somebody (DJ Hasebe Remix)

8. Love Somebody (SECRET Version)

9. Love Somebody (ALBUM Version)

10. Love Somebody (Remix)

ALL the “Get Wild” ALBUM

1.Get Wild (“FANKS CRY-MAXVersion)

2.Get Wild

3.Get Wild (“COLOSSEUM I”Version)

4.GET WILD '89

5.Get Wild (“RHYTHM RED TMN TOUR”Version)

6.Get Wild (techno overdub mix)

7.Get Wild (“tour TMN EXPO ARENA FINALVersion)

8.GET WILD '89 (“TMN final live LAST GROOVE 5.18”Version)

9.GET WILD DECADE RUN

10.GET WILD DECADE RUN (112 CLUB MIX)

11.Get Wild (VER.0)

青山テルマ スーパーベスト

01.そばにいるね original mix

02.そばにいるね 2009

03.そばにいるね English ver.

04.そばにいるね a cappella ver.

05.そばにいるね Tokyo ver.

06.そばにいるね Disco ver.

07.そばにいるね T.K remix

08.そばにいるね EURO MIX

09.そばにいるね Korean ver.

10.そばにいるね Spanish ver.

11.そばにいるね HΛL’S MIX

12.そばにいるね instrumental

初回限定ボーナストラック

13.そばにいるね Orchestra Version

14.そばにいるね Jazz Version

DVD

01.そばにいるね PV

02.そばにいるね Live version

03.Making of「そばにいるね

三木道三スーパーベスト

01.Life Time Respect original mix

02.Life Time Respect 2008

03.Life Time Respect English ver.

04.Life Time Respect a cappella ver.

05.Life Time Respect Tokyo ver.

06.Life Time Respect Disco ver.

07.Life Time Respect T.K remix

08.Life Time Respect EURO MIX

09.Life Time Respect Korean ver.

10.Life Time Respect Spanish ver.

11.Life Time Respect HΛL'S MIX

12.Life Time Respect instrumental

初回限定ボーナストラック

13.Life Time Respect Orchestra Version

14.Life Time Respect Jazz Version

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

When I'm running, only when I'm running, I feel clean. Pure white, I can leave all the stuff I'm carrying behind, for just a moment, I feel perfectly clean.

From the line of "Kaze ga Tsuyoku Fuite Iru".

2018-11-01

「失敗しても死ぬことはないし大丈夫だよ!」

なんで万人の辛さが「死ぬこと > その他ALL」だと思い込んでいるのか。

「失敗すること、会社を辞めること、できないと言うこと、逃げ出すこと>死ぬこと」な人もいる。

「失敗しても死ぬことはないか」派と「失敗したら死ねばいいか」派は分かり合えないのだ。

増田プログラマー養成講座 その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-10-31

はてな忘れ物に気付いた

「このページはまだブックマークされていません」と表示されるページのコピーライト

Copyright ・ 2005-2017 Hatena. All Rights Reserved.

2017年のままになっておる

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