深く追求しないローカルorグローバル for PHP
問題です。
以下のコードに示す$hoge
はローカル変数か、それともグルーバル変数か。
if($flg) { $hoge = 1; }
正解はローカル変数。 C++と同じですね。
では次の問題です。
以下のコードに示す$hoge
はローカル変数か、それともグルーバル変数か。
$hoge = 0; if($flg) { $hoge = 1; }
正解はグローバル変数。
if文の外で定義しているからですね。
では最後の問題です。
以下のコードに示す$hoge
はローカル変数か、それともグルーバル変数か。
try { $hoge = 1; } catch(Exception $e) { echo $e->getMessage(); }
ローカル変数? 違います。
正解はグローバル変数。
$hoge
はtryの外でも使えます。
だけどまあ、 グローバル変数になるかどうかはスコープによりけりなので、 そこらへんは深く追求しないで。
自分用sqlまとめ(ちょっとずつ更新予定)
ここを参考にまとめます。
基本
データ(テーブル)の取得
- *はすべてのカラムを示す
SELECT columnx, columny, ... FROM table
データの追加
INSERT INTO table (column1, column2, column3) VALUES(value1, value2, value3)
データの更新
UPDATE table SET columnx = valuex, columny = valuey, ... WHERE columnz = valuez
データ削除
DELETE FROM table WHERE columnx = valuex
文字列検索
- % 1文字以上の任意の文字列
- _ 一文字の任意の文字列
WHERE columny like "_mojiretsu%"
条件式の拡張(ANDとOR)
WHERE columnx = valuex AND columny = valuey OR columnz = valuez
日付指定
WHERE date BETWEEN '2001-01-01' AND '2020-02-22'
ちょっと面倒
テーブルの結合
- table1 a テーブル名の省略
- JOIN 結合
- USING 共通項の指定
SELECT a.value1, b.value2, b.value3 FROM table1 a JOIN table2 b USING (value2)
テーブルの結合
和集合
SELECT x, y. z FROM table1 UNION SELECT x, y, z FROM table2 ORDER BY 2, 3, 1
差集合
前者のテーブルのみに存在する項目を抽出
SELECT column FROM table1 EXCEPT SELECT column FROM table2
積集合
両方のテーブルに存在する項目を抽出
SELECT column FROM table1 INTERSECT SELECT column FROM table2
複数候補から絞り込む
SELECT * FROM table WHERE column IN(value1, value2)
他のテーブルの項目を条件に絞り込む(IN)
SELECT x.* FROM tablex x WHERE x.key IN ( SELECT y.key FROM tabley y )
他のテーブルの項目を条件に絞り込む(EXISTS)
SELECT x.* FROM tablex x WHERE EXISTS ( SELECT column FROM tabley y WHERE x.key = y.key )
IDでソートして先頭行だけ抽出
SELECT * FROM table ORDER BY id DESC LIMIT 1
特殊
妖怪1増やす
UPDATE table SET hoge = hoge + 1 WHERE key = 1;
gitで作業中のファイルを作業前に戻したい(直前のコミットに戻りたい)ときのなんちゃら
編集したファイルを破棄したい、編集前の状態に戻したいってときには、 何も考えず、次のコマンドを実行しましょう。
git reset --hard HEAD
git reset
の良い解説はこちら。
この記事によると、
git reset
はコミットの状態を戻すためのコマンドで、
--hard
はファイルの変更自体に影響をあたえますよって意思表示で、
HEAD
は最新コミットの状態を表しているそうです。
つまり最後にコミットした時点にファイルの状態を戻そう、っていうことですね。
くじ引き
<p id="text" style="font-size: 200%;color: #ff0000"></p> <script type="text/javascript"> window.onload = function() { var elm = document.getElementById("text"); roulette(elm); }; function roulette(elm) { var r = Math.floor(Math.random()*10); if (r < 5) { elm.innerHTML = "アタリ"; } else { elm.innerHTML = "ハズレ"; } } </script>
数学の冒険。導出への道を彼女達と丁寧に辿る。『数学ガール』
夏休み。数学を軽く勉強しようかと『数学ガール』を読みました。
初めは、中学高校レベルの簡単な数学を感覚的に理解させてくれる読み物だと思ってたのですが、本当はちょっと違いました。『数学ガール』はかわいい女の子たちとちょっと難しい数学を丁寧に辿って理解していく読み物です。
本書のヒロイン、『数学ガール』は二人います。 『僕』に数学の驚きを教えてくれる才女ミルカさん。 『僕』の教え子、目がクリクリの小動物みたいな女の子テトラちゃん。
数学の驚き、 答えに辿り着く旅の地図、 地図にないシンプルな解法、 振動の本質、 微分の力。
これまでに学んだことが数珠繋ぎに答えを導いてくれる感覚。
ここまでわかりやすく刺激的にまとまっていると、 数学に対しての苦手が消えていくようにさえ思います。 最後の冒険は僕にとっては壮大過ぎて、 理解したとは言いがたいのですが。
そして、『僕』と『数学ガール』の物語。 図書室で2人だけでいい感じに数学に励んでいた『僕』とミルカさん。 その間に割って入るテトラちゃん。 テトラちゃんはわかりやすいくらい明らかに『僕』が好き。 ミルカさんと踊る『僕』。 テトラちゃんをプラネタリウムに連れて行く『僕』。 『僕』の気持ちはミルカさんに惹かれながらも、 テトラちゃんを意識し始めるし… ってなんだこのラブコメは!
エピローグが特にずるい。 結局『僕』はどっちの『数学ガール』を選んだのか。 肝心なところは想像で補わせる演出がにくい。
『数学ガール』の感想をもっとかいつまんで言いましょう。 これは頭の運動をしながら、かわいい女の子にハスハスする読み物だ。
文章をたくさん書ける人が羨ましい
昨日から小説を書いている。 さっき、ようやく2000字を突破した。 私は、小説を書く中で、一日に少なくとも描き上げなければならない字数を決めている。 私の場合、一日に1000字が目標である。 苦しみながらようやく1000字を超えることができたので、 胸を撫で下ろしてブログに手を入れている。
googleで「小説 書けない」を検索すると以下の記事が目についた。
まったくの同感である。
でもこの人、別の記事で1日1万字なら書けるって言ってるんだよね。 1日2万字は化け物だけど、1日一万字ならいけるって。
一万字もよっぽど化け物だよ!!!
1000字も書けりゃ十分だよ!!!
なんだこれ! これが才能か! 文章書く才能の違いか!
あてつけかよ! ちくしょう!
とまあ鬱憤をぶちまけるのはそのへんにして、文章書くのってつらいよねって話に戻る。
文章書くのってつらい。みんな1日にどれくらい書けるものなのだろうか。適当な文章ならいくらでも書けるよってものなのだろうか。適当な文章ってそもそも書けるものなのか。思ったことをのべつまもなく書いていくということなのだろうか。
思ったことを書き並べる。それも才能だ。
経験の浅い文章書きは、つまり私のような素人は、書いていることの内容よりも書かれている文量にまず驚く。どうして彼らはこんなにたくさん書けるのだろうか。
生半可な努力じゃない。小説を書くのは苦しい。物語を考えて、キャラクターを当てはめて、情景を描写して。そんないろいろを考えなければ書けやしない。そんないろいろを考えながら書いていくとどうしても時間がかかってしまう。考えれば考えるほどつらく苦しくなってくる。
小説家という人間は、小説を書くのが楽しい、と思える人間なのだろう。そうじゃない、私は、本当は小説にアタマを突っ込んではいけないのかもしれない。ただ、書きたいという気持ちを胸に、死んでいくのが道理であろうか。
書きたい。それでも書きたい。自分一人で諦めて、うやむやにして、何もしないでいられない。今しかない。今が最後のチャンスなのだから。
さようなら青春。