ぶろぐめんどくさい

技術系の記事と漫画レビューが入り混じった混沌

深く追求しないローカル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まとめ(ちょっとずつ更新予定)

ここを参考にまとめます。

qiita.com

基本

データ(テーブル)の取得
  • *はすべてのカラムを示す
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の良い解説はこちら。

qiita.com

この記事によると、 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>

ブロガーは憤怒した

ブロガーは憤怒した。 更新すべき記事がないからだ。 ブロガーは憤怒した。 誰もが見惚れる鮮烈な経験を覚えていないからだ。 ブロガーは憤怒した。 経験も、体験も、知見も、先見もブロガーはなにも持ちあわせていないのだから。 ブロガーの頬を涙が伝う。 ただ、他人の尻馬に乗るしか脳がないことを知っていた。

数学の冒険。導出への道を彼女達と丁寧に辿る。『数学ガール』

夏休み。数学を軽く勉強しようかと『数学ガール』を読みました。

f:id:be116:20160907181646j:plain:w200

初めは、中学高校レベルの簡単な数学を感覚的に理解させてくれる読み物だと思ってたのですが、本当はちょっと違いました。『数学ガール』はかわいい女の子たちとちょっと難しい数学を丁寧に辿って理解していく読み物です。

本書のヒロイン、『数学ガール』は二人います。 『僕』に数学の驚きを教えてくれる才女ミルカさん。 『僕』の教え子、目がクリクリの小動物みたいな女の子テトラちゃん。

数学の驚き、 答えに辿り着く旅の地図、 地図にないシンプルな解法、 振動の本質、 微分の力。

これまでに学んだことが数珠繋ぎに答えを導いてくれる感覚。

ここまでわかりやすく刺激的にまとまっていると、 数学に対しての苦手が消えていくようにさえ思います。 最後の冒険は僕にとっては壮大過ぎて、 理解したとは言いがたいのですが。

そして、『僕』と『数学ガール』の物語。 図書室で2人だけでいい感じに数学に励んでいた『僕』とミルカさん。 その間に割って入るテトラちゃん。 テトラちゃんはわかりやすいくらい明らかに『僕』が好き。 ミルカさんと踊る『僕』。 テトラちゃんをプラネタリウムに連れて行く『僕』。 『僕』の気持ちはミルカさんに惹かれながらも、 テトラちゃんを意識し始めるし… ってなんだこのラブコメは!

エピローグが特にずるい。 結局『僕』はどっちの『数学ガール』を選んだのか。 肝心なところは想像で補わせる演出がにくい。

数学ガール』の感想をもっとかいつまんで言いましょう。 これは頭の運動をしながら、かわいい女の子にハスハスする読み物だ。

文章をたくさん書ける人が羨ましい

昨日から小説を書いている。 さっき、ようやく2000字を突破した。 私は、小説を書く中で、一日に少なくとも描き上げなければならない字数を決めている。 私の場合、一日に1000字が目標である。 苦しみながらようやく1000字を超えることができたので、 胸を撫で下ろしてブログに手を入れている。

googleで「小説 書けない」を検索すると以下の記事が目についた。

tokimaki.hatenablog.com

まったくの同感である。

でもこの人、別の記事で1日1万字なら書けるって言ってるんだよね。 1日2万字は化け物だけど、1日一万字ならいけるって。

一万字もよっぽど化け物だよ!!!

1000字も書けりゃ十分だよ!!!

なんだこれ! これが才能か! 文章書く才能の違いか!

あてつけかよ! ちくしょう!

とまあ鬱憤をぶちまけるのはそのへんにして、文章書くのってつらいよねって話に戻る。

文章書くのってつらい。みんな1日にどれくらい書けるものなのだろうか。適当な文章ならいくらでも書けるよってものなのだろうか。適当な文章ってそもそも書けるものなのか。思ったことをのべつまもなく書いていくということなのだろうか。

思ったことを書き並べる。それも才能だ。

経験の浅い文章書きは、つまり私のような素人は、書いていることの内容よりも書かれている文量にまず驚く。どうして彼らはこんなにたくさん書けるのだろうか。

生半可な努力じゃない。小説を書くのは苦しい。物語を考えて、キャラクターを当てはめて、情景を描写して。そんないろいろを考えなければ書けやしない。そんないろいろを考えながら書いていくとどうしても時間がかかってしまう。考えれば考えるほどつらく苦しくなってくる。

小説家という人間は、小説を書くのが楽しい、と思える人間なのだろう。そうじゃない、私は、本当は小説にアタマを突っ込んではいけないのかもしれない。ただ、書きたいという気持ちを胸に、死んでいくのが道理であろうか。

書きたい。それでも書きたい。自分一人で諦めて、うやむやにして、何もしないでいられない。今しかない。今が最後のチャンスなのだから。

さようなら青春。