わたしはクズなんだ!

自称クズ=理想と現実のギャップに苦しんでいる人
という記事から。
クズな自分に甘んじている人に向かって「あなたはクズじゃないよ」って言うのはやめてくれ。
わたしはクズなんだ!
記事が指摘する通り、ダメな自分を戒めるためにクズを自称する人もいるだろう。
しかし、理想もなくただ今のぬるま湯に浸かっていたいだけの、怠惰な言い訳の場合もあるんだと言いたい。

自称クズを卒業する条件:2.理想に至れない自分を受け入れ、自分自身と和解する

卒業するとかしないとかいうレベルの話ではないのです。それに自分自身との和解も済んでいる。平和主義だし。
なんというか、「自称コミュ症」とか、「自称勉強ができない」とか、「自称才能がない」と同じ系統のセリフだと思う。
その辺りを自称しておけば、生まれ持ったものだから努力してもどうしようもないよね、治らないよね、仕方ないよねって気分になれる。
あるいは失敗しても、あぁ自分はクズだから失敗しても当たり前だよね、って。
努力をしなくても良い/失敗が許される免罪符。みたいな。
結局のところ、努力しない言い訳にクズだのコミュ症だの言って、逃げているだけなのである。
向上心のない人間はクズだ。
したがって、自称クズもただのクズなわけである。
というわけでわたしはクズなんだ!
だから努力をしない。向上しない。失敗をする。
だけどクズだから仕方ないよね、許してね。

新生活に向けて

入社案内届いたった。
4月1日から一週間新人研修して、勤務地と、配属先が決まるらしい。
事務かなー、営業かなー。
事務なら本社確定なんだが。営業だとどこへ行くのやら。
勤務地がどこであれ、引越しする必要がある。
寮もあるけど、やめておこう。しんどそうだし。どこなっとまた一人暮らししよう。
ということで、引越しのことも考えておかねば、
いらないものは捨てる。いらないものは実家へ送る。
今日も大掃除。最近掃除ばっかりしてる気がする。
部屋の片付けしてたら新生活セットの明細出てきた。
洗濯機+レンジ+冷蔵庫=42800
炊飯器・ガスコンロ・電灯=各5000
合計=65000円
くらい。引越し当時は結構な負担だった。でも3年間頑張ってくれたし、良い買い物だったな。
その後追加で買ったのが
テレビ=20000
プリンター=5000
掃除機=2000
とか。
年金の資料も発掘。
学生納付特例制度を使って、20~22まで未納だけど。追納しようかどうしようか。
納付すれば、年金額がちょっとあがる。このちょっと具合が、自分にとってどうなのって話だけどまるで想定できない。
まぁめんどくさいからいいや。やめとこ。
掃除の他に今日はアパマンショップで退去手続きしてきた。
4/31付で解約退去する。後日管理会社から電話が来るらしい。
NHK受信料も実家に戻るという事にしておく。
ってか月々500円年間6000円くらい払っていたらしい。(学生半額料金)
電気、ガスはもっとあとでも良いらしい。ので先送り。

Google検索からのDMCA削除

最近同人作家の中で「グーグル八分」が流行しているらしい。
同人サークル「RPGカンパニー2」
悶亭のブログ

「グーグル八分」とは

「グーグル八分」とは、Googleのフィルタリング機能の俗称。
Googleはスパムサイトや削除申請を受けたページを検索結果から排除している。
削除申請はメール一通で完了し、対応が早く、作品の売上にも効果があることから、海賊サイトへの対抗策として期待されているようだ。
同人作品だけでなく、ブログ記事の無断転載などへの対抗策としても有効である。

削除申請の方法

デジタルミレニアム著作権法(DMCA)に基づいてGoogleに削除申請をする。
具体的には、著作権侵害の報告フォームに「著作権対象物」や「権利者情報」など必要事項を入力し、送信する。
早ければ、2時間ほどで検索結果から削除される。
詳しい方法は→(無断コピーされたコンテンツをGoogleのインデックスから削除する方法

削除された時の対応

自分のサイトがDMCA削除された時、取りうる対応は以下
1.誤った判断により DMCA に基づく申し立てを受けてサイトまたはページが削除されたと思われる場合には、異議申し立て通知フォームを送信。
2.著作権を侵害しているコンテンツを削除した場合は、コンテンツ削除通知フォームを送信。
3.GoogleのSEOを重視しない場合には、そのまま放置。
※削除通知は「GooglewebMasterTool」を通して受け取ることができる。
手軽な確認方法としては、独自エンジンを持つ、アメリカの「Bing(http://www.bing.com/)」、韓国の「NAVER(http://www.naver.jp/)」、中国の「Baidu(http://www.baidu.jp/)」とGoogleとの検索結果を比較するとわかりやすい。

Google透明性レポート

削除リクエストの件数や内容は「Google透明性レポート」として公開されている。
ここ1年で急増しているのがわかる↓
005
レポートを通して、申立件数の多い著作権者や、通報の多いサイトを確認できる。
著作権者は、「Microsoft」「Adobe」のソフトウェア会社、日本企業では「DMM.com」が上位。
通報先サイトは、「filestube.com」「torrentz.eu」のアップローダーが上位を占める。
個別の申請内容も閲覧できる。
累計で30万件申請をしている「DMM.com」のレポートをみてみる。
通報先はトップから、ryushare.com[53,485件]、akiba-online.com[15,479件]、torrentkitty.com[4,695件]、fc2.com[4,494件]。
ざっと通報先を見ると、ほとんどがアップローダー。続いて、Xvideosなどの動画投稿サイト、それらのサイトへのリーチサイト・アンテナサイト。英語圏のサイトが多い印象。

DMCA

DMCAとは、デジタルミレニアム著作権法(Digital Millennium Copyright Act; )のことで、アメリカ合衆国で1998年10月に成立し、2000年10月に施行された連邦法。米国著作権法(U.S. Code, Title 17)等の一部を改正する法律である。

アメリカでは著作権侵害について故意・過失が無くても罰せられる無過失責任制を取っているためインターネットサービスプロバイダ (ISP) には著作権侵害に繋がりかねない事態に対して、漫然とした態度を取らずに取りあえず警告を発するなど迅速に対処する事により法的に罰せられるリスクを回避できるセーフハーバー(英語版)条項の規定があり、一定の要件を備えた著作権侵害主張の通知を受けた場合には調査・削除義務が生じ、詳しい調査や発信者に対して確認を取る前にコンテンツを迅速に削除・遮断しても罪に問われないというノーティス・アンド・テイクダウン (Notice-and-Takedown) などの回避策を規定してある[1]。その後、発信者に対して著作権侵害の主張があった事とコンテンツを即座に削除・遮断した旨を通知し、それに対して発信者からの異議申し立てが有れば著作権者に異議申し立てのあった事を連絡し、反論が無ければコンテンツを復活させる。ユーザーに対しては複数回の著作権侵害警告を発した後にISPがインターネットを遮断する事を強制する段階的レスポンス(graduated response)を採用している。

やっぱりAmazonアフリエイト!

やっぱりAmazon

アフィリエイトするならAmazon!
言わずと知れた最もメジャーなASP(成功報酬型アフィリエイト)です。
報酬は、クリック数に比例すると言われています。
目安は100クリック=1成果=50円。1日1000クリックくらいされるサイトなら1000円/日の計算になります。
また、成果の内訳が分かるので、自サイトの人気商品を知ることができます。例↓

Amazonアフィリエイトの特徴

一番の特徴は、売上貢献の判定方法。“レジに進む”を押す前に広告を踏ませたアフィリエイターがすべての報酬を得ます。
例えば、買い物カゴに、Aさんの広告からの『水』、Bさんの広告からの『漫画』が入っている状態で、Cさんの広告を踏み、“レジに進む”を押せば、Cさんが『水』『漫画』の売上貢献者としてすべてのアフィリエイト報酬を得ます。
つまり「最後に広告を踏ませたもん勝ち」です。なので、Amazonアフィリエイト広告と相性がいいのはすぐに欲しい商品。カートに入れてしばらく悩むような商品は報酬につながりにくい傾向にあります。従ってオススメは文庫本、コミック、生活用品など比較的安価な商品です。

過去アニメメモ

アニメ。好きかもしれない。
見てたものをメモる。

見返すほど面白かった

荒川アンダー ザ ブリッジ
アマガミSS
イヴの時間
狼と香辛料
ギャグマンガ日和
コードギアス 反逆のルルーシュ
交響詩篇エウレカセブン
涼宮ハルヒの憂鬱
宙のまにまに
夏目友人帳
のだめカンタービレ
みなみけ
うたわれるもの
だぁ!だぁ!だぁ!
電脳コイル
電波女と青春男
時をかける少女
とらドラ!
機動戦士ガンダムSEED
咲-saki-
魁!!クロマティ高校
十二国記
STEINS;GATE
氷菓
ふたつのスピカ
WORKING!!
フルメタル・パニック!

面白かった

明日のよいち!
あいまいみー
俺の妹がこんなに可愛いわけがない
喰霊-零-
神のみぞ知るセカイ
神様ドォルズ
君に届け
空中ブランコ
琴浦さん
30歳の保健体育
地獄少女
スクールランブル
それでも町は廻っている
男子高校生の日常
となりの怪物くん
ハチミツとクローバー
化物語
秘密結社 鷹の爪
僕は友達が少ない
もやしもん
ヨルムンガンド
R.O.D
あずまんが大王
とある科学の
gdgd妖精s
さんかれあ
ひだまりスケッチ

そこそこ面白かった

あの夏で待ってる
アクセル・ワールド
イクシオン サーガ DT
織田信奈の野望
キャシャーン Sins
さよなら絶望先生
しばいぬ子さん
人類は衰退しました
ゼロの使い魔
黄昏乙女×アムネジア
鋼の錬金術師
東のエデン
ぽてまよ
マクロスF
未来日記
To LOVEる
森田さんは無口。
ゆるゆり
らき☆すた
あの日見た花の名前を僕達はまだ知らない。
デュラララ!!
テルマエ・ロマエ
GJ部
変ゼミ
封神演義
リコーダーとランドセル

印象薄い

Aチャンネル
俺の彼女と幼なじみが修羅場すぎる
獣の奏者 エリン
鋼殻のレギオス
じょしらく
ハイスクールD×D
パパのいうことを聞きなさい!
はぐれ勇者の鬼畜美学
魔乳秘剣帖
ヨスガノソラ
四畳半神話大系
あっちこっち
インフィニット・ストラトス
祝福のカンパネラ
侵略!イカ娘
ハヤテのごとく!
BLACK CAT
BLOOD+
フリクリ

社会で役立つ知的財産法

まず基本理解

知的財産権とは、発明や創作など無体財産に関する、独占権である。特許法や著作権法で定めてられている。
特許法はかつて専売特許条例と呼ばれており、特許権は発明者が「専売」できる権利だとイメージすると理解しやすい。

権利取得

権利取得の流れは、「出願」→「審査請求」→「拒絶理由通知」→「中間手続き」→「特許査定」→「特許料納付」→「特許権取得」
出願から権利取得までは最短でも3年、料金は100万円ほど必要になる。
出願に関して「先願主義」が採用されており、とりあえず出願だけしておいて、3年間の審査請求期限に権利化の意義があるのかを検討する。というのがよくあるパターン。

職務発明

職務発明とは、「従業員等がした発明であって、その性質上当該使用者等の業務範囲に属し、その発明をするに至った行為がその使用者等における従業者等の現在または過去の職務に属する発明」を言う(35条)。
簡単に言うと、発明をした従業員が報われるようにしようぜって規定。
会社と従業員の間では「予約承継」の契約を結んでいることが多い。「予約承継」とは、会社に特許権を譲渡する代わりに、相当の対価を受け取るという契約。その際の契約内容が「不合理」でない限りはその契約が尊重される。
相当の対価が少ないと揉める場合も多い。相当の対価は、発明の利益の大きさ、従業者の貢献度、使用者の寄与度、利用設備などが考慮されるが、「青色発光ダイオード事件」では、200億円の地裁判決を経て、8億4391万円で2005年に和解が成立した。

特許権の保護範囲

原則ルールは、「特許請求の範囲(クレーム)に一致」するところが特許の権利範囲。
補足ルールで、「特許請求の範囲」解釈のための準則がある。クレームの意義が不明な場合は明細書・図面を参酌して良いとされている(70条2項)。答弁書や補正理由書の記載、審査官とのやり取りも参考にされる(包袋禁反言)。
さらに、例外ルールで、「特許請求の範囲」外への拡張が認められる場合がある。「equivalent theory」の訳語「均等論」と呼ばれるルールで、大体一緒だから保護範囲に含めようってルール。
均等(equivalent)の要件は、
・置換可能性があること
・容易に想達できること
・相違点が発明の本質的部分でないこと
個別に判断するしかないので、判例[ボールスプライン事件]とか参考に。基本は原則が重視される。

特許権が侵害されたら

民事的救済手段には、
・差止請求権(特許100条)
・損害賠償請求権(民法709条)
・不当利得返還請求権(民法703条)
・信用回復措置(特許106条)
がある。

国際消尽

いわゆる並行輸入品と呼ばれるもの。
メーカーとしては商品価格は自分でコントロールしたいので並行輸入は阻止したい。
しかし、並行輸入品は正当な権利者が一旦適法に流通に載せたものであり、特許権はその時点で消尽したもので、特許権者に二重の利得を認める必要がないという理由が学説判例で支持されている。
つまり、基本的には並行輸入を特許権で阻害することはできない。(契約で縛ることは可能)

先行技術調査

研究の方向性を決めるため、出願前、審査請求前、無効審判のため、など、様々なシーンで調査が必要となる。
先行技術は、論文や、一般書、など幅広く調べる必要がある。

特許電子図書館(IPDL)

中でも特許情報は、特許電子図書館(IPDL)で無料で検索できる。
検索方法は、キーワードを使った公報テキスト検索、FタームやFIを組み合わせる特許分類検索、など。

astamuse

【無料】民間企業の特許検索サービス。レイアウトが綺麗。

特許調査支援サービス「PatentSQUARE」

【有料】パナソニックの特許調査ノウハウをシステム化し、日本および外国特許公報(中国、米国、欧州、PCT、世界)を対象とした特許調査支援サービス。海外特許の検索に強い。

知財部

会社によっては専門の知財部がある。多くは「法務部」の業務として、あるいは、その下位組織として機能することが多い。
基本的には、出願手続きや、紛争処理。訴訟の法務関連の業務を担当する。
特許権の運用方針ならば、「企業経営」、技術に焦点を当てるなら「研究開発部門」、発明の対価報酬や人事考課なら「人事」、ライセンス促進なら「渉外」、など、各部門とのつながりは強い。
実際の知財部がどういう仕事をしているのかは、『戦略的な知的財産管理に向けて 経済産業省 特許庁』が参考になる。
出願関係はすべて弁理士事務所に任せているところもあれば、社内に弁理士を雇う場合もある。
この業務を発明者、知財部、特許事務所でどのように役割分担するのかが、大きな分かれ目であるようだ。
発明者の負担が多いと、主業務に支障をきたすおそれがある。あるいは特許事務所に多くを頼ると、手数料が高く付く。

知財実務の主な狙い

1.研究・開発の支援
ex)公知技術の調査・分析、で研究の方向性決定の素材を提供する。
2.発明の発掘
ex)発明届け制度、表彰制度、発明規定の明確化など、発明が表に出やすい環境を作る。
3.権利の管理
ex)中間手続きなど、権利に係る特許庁との手続き
4.開発の保護
ex)他企業の特許を侵害しないように、安全性の確保
5.販売の支援、他社への牽制、契約の支援
ex)模倣品、類似品を監視・警告し、排除あるいはライセンス契約を結ぶ
6.ノウハウ技術の保護
 ex)特許技術との区別、秘密管理の徹底。

<特許調査の種類と目的>

1.技術情報の調査
 先行技術調査
  ―出願前調査  (発明の新規性・特許性の確認のため)
  ―審査請求前調査(審査請求の判断や補正案作成のため)
2.権利情報の調査
 侵害予防調査 (新製品が他社特許を侵害しないか?)
 抵触調査   (自社特許が利用する他社特許・製品はないか?)
 権利調査   (新製品に関する他者の権利は?)
 無効資料調査 (特定の特許を無効に出来る資料を探す)
 監視調査   (特定の案件・範囲・出願人などの監視)
 パテントファミリー調査
3.経営関連情報の調査
 経営・商品・開発状況調査(自社、他社を特許の視点から分析しパテントマップを作成)

奈良観光【外出】

今日は大学の友達と奈良観光。
と言っても、たいした目的があったわけではないのだけど。
12:00頃、JR駅からの道すがら昼食食べて、「春日権現験記絵巻の中のファッションと暮らし」を見て、春日大社に行って、東大寺行って、天王寺で鍋食べて、ブックオフ行って帰る。
珍しい外出で楽しかった。
まぁ、観光スポットでいうと、大仏の穴くぐり位しか楽しめる所がなかったのだけれども。歳食ったらもっと色々楽しみを開拓できるのだろうか。
奈良はなんもないなー、老人と外人の観光客はたくさんいたけど。
そういえば、せんとくんには遭遇しなかったな、平城京のあたりに出没するらしいけど。
しかしも今日は寒かった。朝から風は強いし、夕方には雪が降るし。
それでも、鹿愛でるのはとても楽しかったので、良しとする。

成功体験/失敗体験

成功体験とは、子供で言うと、スポーツの大会で優勝したり、受験で志望校に合格したり、事業で成功したりとか。
失敗体験は、まぁそのまま。上の結末が失敗したバージョン。いわゆる挫折。
就活の面接なんかで聞かれることも多い。その場面では、成功体験は努力の成果だとか、能力の高さを示したり、失敗体験ならそれをどう乗り越えたのかって言うことをアピールするのが模範解答。
これに関連して、昔読んだ本に、子供時代に成功体験した人間は、大人になってもよく伸びると書いてあった。
自信が身について、行動に思い切りが付く行動力の高い人間になれるかららしい。
逆に、成功体験のない人間は、総じて自信がなく、一歩を踏み出せないまま、大したことを成し遂げないんだとか。
自身があるのは良いことという一理はあるけど、どっちもどっちかなー。
例えば、毎日欠かさず練習をして、その結果、大会で優勝したとかなら、その経験から「努力すれば結果があとからついてくる」という自信がつき、大人になっても結果がほしい時には、努力をする人間になるかもしれない。逆に努力しても報われなかった失敗体験をした人間は、「努力しても無駄」だと、努力を放棄するかも。ならば、成功するほうが良いだろう。
しかし、例えば、FXで適当に投資して、100万円を稼いだなら、その経験から「世の中ちょろい」という根拠のない自信が生まれてしまう。行動力と言う点では良いだろうけど、運でどうにかなるとか、実力があると誤解してしまうのは、それはそれで危険な気がする。
体験とは、人生訓を得ることでもある。
「努力」+「人脈」=「成功」とか
「努力」+「努力」=「成功」なら良い体験といえる。
しかし、その人生訓が、
「努力」+「努力」=「失敗」とか
「運」+「気合」=「成功」なら目も当てられない。

天王寺【外出】

昨日は天王寺に行った。
居酒屋で飲んで、飛田新地うろついて、また飲んで、ラーメン食って、帰る。
相変わらず、酒弱い。
フラフラの体で帰宅し、風呂入って寝て起きての今日。
酔うのは好きだけど、もう少し強ければなぁ、と思う。昨日はビール3杯とカクテル2杯くらいでフラフラ。
日本酒飲もうものなら、這々の体。
まぁ、ビール1杯で酔えるのは経済的かな。。
それにしてもいい街だったなぁ、飛田新地。
梅田も迷うけど天王寺駅も迷宮。道を覚えたいものである。
JR改札を起点に、南口と北口がある。
南のほうにあべのキューズモールとアポロビルがある。
高架は工事中で通れない。

プログラムメモ

なんかいろいろメモ。

PHP

preg_match

目的:RSSから画像を取得したい。
画像は例えば↓のようなコードである。

<img width="200" src="https://hytool.org/test.png?fit=AAA" alt="test" height="300" border="0"/>

これを「preg_match」を使って取り出す。
preg_matchは、「/~/」の中に正規表現を書く。

URLを取得する

まず、元データ(RSS)からimgタグを取得する。

preg_match('/<img.*?>/i', $元データ, $img取得);

次に、URLを取得する。(上記で取得したimgタグからURLを抜き出す。)

preg_match('/http.*?(\.gif|\.png|\.jpg|\.jpeg$|\.bmp)/i', $img取得, $url取得);

※preg_match()は配列で返ってくる。
【エラーメモ】

→IMGタグ内に複数URLがある場合はエラー。サイトごとに特殊設定するか、拡張子で後方一致させれば対応可能。

→画像URLに複数の拡張子が含まれる場合。複数あるうちの最後のJPGを取得すれば回避可能。
まぁレアケースなので無視してる。

正規表現メモ

「.*?」ワイルドカード的なもの「.」が任意の一文字。「*」が0回以上の繰り返し「?」が直前文字の0回以上の繰り返し。例えば「.*?あ」で後方一致。はじめに出てくる「あ」までを指定できる。
「[]」は、どちらかに一致。例えば[\'”]ならばシングルクォーテーションかダブルクオーテーションかに一致の意味。
「()」はグループ化。例えば(gif|png)ならば「gif」か「png」に一致の意味。
「[^ABC]」はA、B、Cのいずれでもない任意の1文字。(※行頭指示ではない。)
「i」は大文字と小文字の区別をしないの意。「preg_match」の最後に付け足す。

変数を表示する

echo($phpcode);
print_r($phpcode);
var_dump($phpcode);

ダブル/シングルクォーテーションの違い

ダブルクォーテーション、シングルクォーテーションの違いは
・ダブルクォーテーション・・・ 文字列中の変数を変数値に置換する
・シングルクォーテーション・・・ 文字列中の変数を変数値に置換しない
[シングル]の方が処理が早くて、[ダブル]の方が高機能。
特段理由のない場合は処理の早い[シングル]を使う↓

echo('<a target="_blank" href="'.$link.'">'.$title.'</a>');

[ダブル]も便利。接続子が必要なく書きやすい↓

echo("<a target='_blank' href='$link'>$title</a>");

$_SERVER

HTTP_REFERER

if(preg_match("/dtiblog/",$_SERVER[ 'HTTP_REFERER' ])){
$output = mb_convert_encoding($output, "eucjp", "auto");
};

ブログパーツで使ったコード。リンク元のアドレスを取得できる。
リンク元(プログパーツ設置先)のアドレスに”dtiblog”が含まれるなら、”eucjp”にエンコードする。

REQUEST_URI

if($_SERVER['REQUEST_URI'] =="/ファイル名.php"){}

現在のアドレスを取得できる。現在位置にclass「current」を付与したい場合に使用(もっと汎用性のあるコードもあるだろうけど、とりあえずこれで)

<a class="menu<?php if($_SERVER&#91;'REQUEST_URI'&#93; == '/cat1.php'){echo ' current';} ?>" href="cat1.php">cat1</a>
<a class="menu<?php if($_SERVER&#91;'REQUEST_URI'&#93; == '/cat2.php'){echo ' current';} ?>" href="cat2.php">cat2</a>

トップページをランダムで変える【PHP】

「mt_rand()」でランダムな数字を生成し、「header()」でファイルを読み込む。

<?php
$random = mt_rand(0,2);
if($random == 0) {
	header('Location:cat1.php');
} else if($random == 1) {
	header('Location:cat2.php');
} else {
	header('Location:cat3.php');
}
?>

strtotime

アンテナサイトの日付ソート機能にエラー発見。
サイトごとに日付の書き方が異なるが、それを統一する関数が「strtotime()」
ただし、対応できない書式の日付も存在する。それにあたってしまったらしい。

Sat, 15 Jun 2013 10:30:00 0

最後の「 0」がどうにも具合が悪いらしい。
サイトは「WordPress」の基本機能でRSS配信してるっぽいが、何をどういじったらそんな特殊な日付が出るのか不明である。

Sat, 15 Jun 2013 10:30:00 +0000

とかだとうまくいくんだが。「+0000」の省略形なのかな?
個別で対処したが、汎用の方法がわからん。

関数つくる

繰り返し記述していた関数をひとつにまとめてみる。

function 関数名 (引数) {
処理
}

ってのが関数の基本形。
基本形に倣って↓

<?php
function rss($rss){
	$xml = simplexml_load_file($rss, 'SimpleXMLElement', LIBXML_NOCDATA);
	$count = 0;
	foreach($xml->channel->item as $item){
		$day = date ( "m.d.H.i",strtotime ( $item->pubDate ) );
  		$link = $item ->link;
		$title = $item ->title;
		$val =  "<tr><td class='day'>$day</td><td class='title'><a href=\"$link\" target=\"_blank\">$title</a></td></tr>";
			echo  $val;
 		$count++;
		if ($count > 5){break;}
	}
}
?>

「rss」という名前の関数に、rssを読み込む処理を書いておく。
んで、変数「$rss」を定義して、関数「rss」を実行。↓

<?php $rss = 'http://newsonjapan.com/rss/top.xml';?>
<?php rss($rss); ?>

絶対パスを調べる【PHP】

echo __FILE__;

HTML エンティティに変換【PHP】

$title = htmlspecialchars("$title", ENT_QUOTES, 'UTF-8');

特殊文字を HTML エンティティに変換する。書式にうるさい「XML」を作成するときに使える。
http://php.net/manual/ja/function.htmlspecialchars.php

http://okwave.jp/qa/q2399976.html

一言掲示板【PHP】

短いコードで掲示板を作成可能。
「phpファイル」と、書き込み用の「message.txt」を用意する。

<?php
if (isset($_POST['message'])) {
$message = $_POST['message'];
$now     = date('m/d');
$post_data = "$message ($now)\n";
$read_data = file_get_contents('message.txt');
file_put_contents('message.txt', $post_data . $read_data);
}
?>
<div class = "bbs">
<form action="" method="post">
メッセージ:<br />
<input type="text" name="message" size="30" value="" /><br />
<input type="submit" value="投稿する" /><br />
</form>
<?php
$fp = fopen('message.txt', 'r');
while ($line = fgets($fp)) {
  echo '<p>' . htmlspecialchars($line, ENT_QUOTES) . "</p>\n";
}
fclose($fp);
?>
</div>

【PHP】存在するページ(URL)か確認

http://ysklog.net/php/1670.html
重いが。

getimagesize

画像の情報を取得する関数。
0 画像の幅
1 画像の高さ
2 画像の種類を示すフラグ(詳しくはここへ)
3 画像の幅と高さ
bits ビット/ピクセル
channels チャンネル数
mime 画像のMIMEタイプ
とかがわかる。
超有能な関数だがクソ重い。リアルタイムでの処理とか、多ファイルの処理には向かない。

// 画像情報を取得する @を付与しエラー無視
list($getWidth, $getHeight ) = @getimagesize($元データ);
if (($getWidth==1) && ($getHeight==1)){print '1ピクセルの画像';}

指定フォルダ内の画像ファイルを取得して表示【PHP】

http://ijbk.deci.jp/?p=783を参考に。

<?php
function readimg($imgFolder){
$imgList = scandir($imgFolder);
$count = count($imgList);
for($i = 0; $i < $count; $i++){
  $file = pathinfo($imgList[$i]);
  $fileName = $file["basename"];
  $fileExtension = $file["extension"];
  if($fileExtension == ('png')){
    echo '<img src="' .$imgFolder.$fileName . '">';
  }
}
}
?>
<?php
$imgFolder = 'img/フォルダ名/';
readimg($imgFolder); ?>
?>

使用画像はpngのみ指定。

$imgFolder = 'img/'.get_the_ID().'/';
$imgFolder = the_title( 'img/' , '/' , false );

IDあるいはタイトルで、参照フォルダを指定。

配列の宣言方法、配列数分ループさせる方法

配列数分ループして値を取り出す方法
http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=array&cid=001

foreachを指定した回数のみ実行する

http://hacknote.jp/archives/4063/
$i++で処理しようかと思ったけど、array_sliceで処理した方が良さげ。

画像の保存と整形

「画像判定→保存→リサイズ」
を行いたかったが、失敗。一度に処理したいファイルが多すぎてタイムアウトする。同時10画像くらいまでなら動く↓

//getimagesize関数で画像情報を取得する
list($img_width, $img_height, $mime_type, $attr) = getimagesize($gazo);
//list関数の第3引数にはgetimagesize関数で取得した画像のMIMEタイプが格納されているので条件分岐で拡張子を決定する
switch($mime_type){
    //jpegの場合
    case IMAGETYPE_JPEG:
        //拡張子の設定
        $img_e = "jpg";
        break;
    //pngの場合
    case IMAGETYPE_PNG:
    //拡張子の設定
        $img_e = "png";
        break;
    //gifの場合
    case IMAGETYPE_GIF:
        //拡張子の設定
        $img_e = "gif";
        break;
}
//保存する
$imgdata = file_get_contents($gazo);
	if (!empty($cat)){
	file_put_contents("保存先/img_$i.$img_e",$imgdata);
	}else{
	file_put_contents("保存先/img_$i.$img_e",$imgdata);
	}
//jpgのみw=300リサイズ
	if($img_e == "jpg"){
	$file1 = "保存先/img_$i.$img_e";
	$file2 = $file1;//画像保存先
	$in = ImageCreateFromJPEG($file1);//元画像ファイル読み込み
	$size = GetImageSize($file1);//元画像サイズ取得
	$width = 300;//生成する画像サイズ(横)
	$rate = $size[0] / $width;//圧縮比
	$height = $size[1] /  $rate;//リサイズ後縦幅
	$out = ImageCreateTrueColor($width, $height);//画像生成
	ImageCopyResampled($out, $in, 0, 0, 0, 0, $width,$height, $size[0], $size[1]);//サイズ変更・コピー
	ImageJPEG($out, $file2);//画像保存
	$gazo = "保存先/img_$i.jpg";
}

配列の保存と取り出し

//dat形式で保存
file_put_contents("保存先", serialize($concatArray));
//dat形式とりだし
$rssArray = unserialize(file_get_contents("保存先"));

スクレイピング

前から興味あったので少し触る。
「Simple HTML DOM Parser」使ってみた、取得は簡単。ただノイズ処理がめんどくい。当然APIとかXMLのほうが扱いやすい。
PHP Simple HTML DOM Parserを使ったWebスクレイピング入門(http://qiita.com/esehara@github/items/db231c99f8076aabdfb2)

include "simple_html_dom.php";
$html = file_get_html('http://XXXXXX');
foreach ($html->find('article') as $entry) {
	$title = $entry->find("h2", 0)->plaintext;
	$link = $entry->find("a", 0)->href;
	$img = $entry->find("img", 0)->src;

上ので、article毎にh2タグ、Aタグ、IMGタグの情報を取得できる。
サイトのトップページのスクレイピングが可能。
find()の使い勝手が良い。
クラス指定したい場合は↓みたいに書く(クラス=contentのdivタグ)

find('div[class=content]') 

回数指定もできる↓(2番めに見つかるliタグ)

find("li", 2)->href;

転送

サイト移転とかで飛ばす方法メモ。

PHPで

<?php
header('Location:新しいアドレス');
?>

ほとんどタイムブランクをおかずに、転送できる。
・利用者のストレス軽減◎

メタタグで

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8"><title>ジャンプ</title>
<meta http-equiv="refresh" content="10;URL=新しいアドレス">
</head>
<body>
10秒後にジャンプします。<br>
</body>
</html>

転送までの時間を設定することができる。
・相互リンクサイトなどへの広報性◎

JavaScript

JavaScript

タイルデザイン

タイルデザインを実装しようとしてみた。失敗してやめたけど。
「Minigrid」を使えば簡単。クラス「cards」でくくった中のクラス「card」が勝手にタイル表示される↓

<script>
var grid = new Minigrid({
  container: '.cards',
  item: '.card',
  gutter: 6
});
grid.mount();
</script>

ただ、これだと問題あり。
画像の大きさの読み込みが完了する前にJSが動いてしまうので、大きさがバグる。
で、読み込んだ後に実行することにした↓

<script>
window.onload = function () {
var grid = new Minigrid({
  container: '.cards',
  item: '.card',
  gutter: 6
});
grid.mount();
};
</script>

バグらなくはなったが、しかし思いのほか遅い。
調べるとタイル表示は、スクロールで画像を読み込んでいくプログラムと併用することが多いっぽい。たぶんこの辺のことを考慮してだろうと思う。で、結局別にそこまでしてタイルじゃなくてもいいやと思ったのでやめる。
参考:【JavaScript】カード型レイアウトを簡単に実装できる[Minigrid]の使い方(http://on-ze.com/archives/5234)

jQuery

画像がない時の処理

<script>
$(document).ready(function() {
	//画像が見つからないときにエラーイベント発生
	$('img').error(function() {
		//置換処理
		$(this).attr({
			src: '/noimage.png',
		});
	});
});
</script>

HTML

form

selectで、選択後すぐに移動する

「onchange=”submit()”」というのを使うと選択後すぐに値を渡してくれる。

  <form>
    <select name="ネーム" onchange="submit()">
<option value="1">選択1</option>
<option value="2">選択2</option>
<option value="3">選択3</option>
<option value="4">選択4</option>
    </select>
  </form>

valueの表示を隠す。

「input type=”hidden”」を使う。

<form action="">
<input type="hidden" name="ネーム" value="入力したい値">
<input type="submit" value="表示したい値">
</form>

選択肢を記憶する

session_start();
if (isset($_POST['id'])) {
	$_SESSION['session_id'] = $_POST['id'];//セッション
	setcookie('cookie_id', $_POST['id'], time() + 60 * 60 * 24 * 14);//Cookie
}
...
...
if (isset($_SESSION['session_id'])) {
	$id = $_SESSION['session_id'];
}elseif (isset($_COOKIE['cookie_id'])) {
	$id = $_COOKIE['cookie_id'];
} else {
	$id = 'azoo-22';
}

selectを連動プルダウンさせる

http://d.hatena.ne.jp/Mars/20071109を参考。
詳しくはしらない。

CSS

カラムの読み込み順優先順位

カラムの読み込み順を調整した
今までは普通に左から記述。float:leftで並列していた。
左のサイドバーが重いので、中央から読み込ませたい。
<float:left 横幅:メインコンテンツ+左サイドバー>
<float:rightメインコンテンツ>
<float:left左サイドバー>
<float:right右サイドバー>
にすると中央から読みこむ。
横幅指定するのは、メインコンテンツが読み終わるまでは、メインコンテンツは左寄せになって、読み込み後に中央に飛びチカチカしてしまうので、横幅指定することで、はじめから中央に配置することができる。

画像の下に謎の隙間

画像の下に謎の隙間ができるのを防ぐには(http://allabout.co.jp/gm/gc/23889/3/)
が参考になった。
ベースラインに合わせていると発生する隙間だったらしい。解決策↓

img { vertical-align: text-bottom; }