「しわっす」の検索結果

2014年版『しわっす』中止のお知らせ

みなさんご存じのとおり、12月の挨拶は「しわっす」です。

2012年、2013年と、
この挨拶を忘れないようにするためのサービス『しわっす』を公開してきましたが

今年の『しわっす』について
残念なお知らせをお伝えしなくてはなりません。

今年2014年は、ツイートサービス『しわっす』の公開を中止します。

理由は「いや何か気づいたら月末だったし」としか言いようがありません。
自分の認識の甘さを痛感しているところであります。

もちろん去年と同じものをそのまま起動することは可能ですが、
今年は今年でやりたいことがありました。

検討を重ねた結果、
中途半端な形でリリースすることよりも
中止の道を選ぶことにした次第です。

これを心の支えに1年間いっしょうけめい生きてこられた方には
大変申し訳なく思っております。

ただ、ウェブサービス『しわっす』だけが
「しわっす」と挨拶するための方法ではありません。

手動でツイートするのもいいでしょう。
朝起きたら、大きな声で「しわっす」と叫ぶことも、
仲の良いご友人に LINE で伝えることも、
紙と筆を執って文にしたためることだってできるはずです。

今年の『しわっす』が中止されることによって
古くからの習わしである「しわっす」の声が消えることは決してありません。

どうぞ、あなたの心からあふれ出てくる「しわっす」を大切にしてください。

そして、来年のこの時期、
新たに生まれ変わった『しわっす』をお届けできるよう
飲みすぎには注意しようと思います。

今年もやります!12月になったら「しわっす。」とツイートするためのサービス『しわっす』

ご存じのこととは思いますが、12月の挨拶は「しわっす」です。(参考)

といわけで、12月1日になったら
自動で「しわっす」とツイートするためのウェブサービス『しわっす』を
今年もオープンしました。

こちらからは以上です。

12月1日に「しわっす。」とツイートするためのサービス『しわっす』を公開しました

もう何年も言い続けてますが、12月の挨拶は「しわっす」です。

といわけで、12月1日になったら
自動で「しわっす」とツイートするためのサービスを作りました。

以上です。

「しわっす」は由緒ある挨拶です

もはや言うまでもないとは思いますが、
12月の挨拶は「しわっす」です。
勢いよく「しわーっす」もいいでしょう。

以下の記事を見ていただければおわかりのとおり
大変由緒ある挨拶なので
ぜひとも身につけておきたいものですね。

Twitter をお使いの方は
こちらから元気な声をお聞かせください。

はい、しわっす。

もはや常識となっている12月の挨拶「しわっす」について

もう何年も言い続けているので
賢明な読者のみなさんは大丈夫だと思いますが、
それでも万一覚えてない人がいたら大変なことになるので
一応書いておきますね。

12月の挨拶は「しわっす」です。
元気に「しわーっす!」でもいいですね。

今年の12月1日は月曜日。
明日出社、登校などをして
週末気分のままついうっかり
「おはようございます」
などと言ってしまったらとっても恥ずかしい思いをするので
気をつけましょう。

ちょっと練習しときましょうか。
では後に続いて声に出してみましょう。

しわっす。

関連エントリ

覚えておきたい12月の挨拶「(しわっす | しわーっす)」

別サイトでずっと言い続けてきて
このブログでも去年言ったので
さすがにほとんどの人は認識していると思いますが、
万一知らない人がいては大変なのでもう一度。

12月の挨拶は「しわっす」または「しわーっす」です。

これを知らないと
忘年会などで恥ずかしい思いをすることになるので
ぜひとも覚えておきたいものですね。

うるう年のお知らせをする Twitter の bot @uruu を作ったよ

1年に1回だけ動く bot やサービスを運営しているので
「年1 bot の人」みたいに言われたんだけど、
年1回だけが取り柄じゃないことを見せてやろうと思って作りました。

約4年に1度うるう年がやってきますが、
何せ約4年に1度のことなので、常に覚えてはいられない。

2月28日の次の日が3月1日とは限らないのに
間違えて3月の挨拶「ヤッヨーイ!」を使ってしまったら赤っ恥です。

でも @uruu をフォローしておけば大丈夫。

うるう年2月28日の午前9時に「明日は2月29日です」とツイートするので
「ああ、明日はまだ2月だ」と知ることができます。
これで安心ですね。

なお、@uruu のアイコンは
天神橋筋六丁目のお洒落なバー neigHBor のマスターであり
イケメンデザイナーでもあるトラオさんに描いてもらいました。


いいでしょこれ。

ちょうど来年2012年はうるう年なので
さっそく活用することができますね。

この機会を逃したら次は4年後の2016年です。
どうぞおフォロー遅れのないようご注意ください。

追記

無事仕事を終えました。

4年後もよろしくお願いします。

関連エントリ

CakePHP に自動で OGP タグを埋め込んで Facebook に対応させるためのヘルパーを作ったよ

※ これは CakePHP 1.3 時代の記事です。2.0以降だとこのままでは動かないと思います。

OGP (Open Graph Protocol) という約束事がありますね。
例えばウェブページで Facebook の「いいね!」(Like) ボタンが押されたとき

どんな画像や説明文を表示さるかを指定するのに使われるやつ。
このブログの <head /> 内にも埋め込んであります。

本来は誰か(何か)と誰か(何か)の関係の集まりであるソーシャルグラフの中で
それは誰(何)なのかを表現するための決め事と理解してますけど、
まあ実質「いいね!」のためにウェブサイトで使われることが多いので。

実際には何も書いておかなくても
Facebook が「これでしょ」と適当に画像や文字列を拾ってくれるんだけど
結果を見たら「それじゃない!」と思うことが多いので
こっちから指定しておいた方がいいですね。

ブログだけじゃなくてあらゆるウェブサイトに使えるから
CakePHP のサイトにも埋め込んでおきたい。
最近作ったサービスにはだいたい入れてあります。

ただ、OGP のタグ自体は <meta /> 内に情報を書いていくだけで
特に複雑なものではないんだけど
毎日書くようなものじゃないからお作法をすぐ忘れちゃう。

というわけで、
CakePHP で作られたサイトに自動で OGP タグを埋め込んで
Facebook の「いいね!」やシェアに対応させる
OgpHelper を作りました。

コードは長くなっちゃうから後で。

環境

  • ここでは CakePHP 1.3 を前提としています。
  • 1.2 で使う場合は View からの呼び出しを $this->Ogp->func() ではなく $ogp->func() にしてください。
  • 2.0 対応はこれからやります。あるいは誰かやってください。

設置

OgpHelper が書かれた ogp.php
app/view/helpers/ に放り込んで、
あとは AppController かどっかで読み込み。

[php gutter=”false”]
public $helpers = array(‘Ogp’, ‘Html’, ‘Form’);
[/php]

とりあえず何も設定しなくても <head /> 内にこういうものが追加されます。

[html gutter=”false”]





[/html]

基本的な設定

上記だけでは情報が足りないので、
次のどこかの場所に初期設定を配列で書きます。
まあヘルパーを直接いじるより Configure した方がいいと思います。

  • OgpHelper::$defaults
  • Configure::write(‘OGP’, array(…));
  • View 変数の $ogp_params
    (Controller から $this->set() で指定したもの)

設定できる内容はこんな感じ。
もっといろいろ設定できるんだけど、
「いいね!」ボタンやコメントボックスを設置するときに必要か、
あるいは設定してないと Facebook の Debugger でおこられるのは以下。

[php gutter=”false”]
array(
‘fb:admins’ => ‘[FB のユーザーID]’,
‘fb:app_id’ => ‘[FB のアプリケーション ID’],
‘og:url’ => ‘[設定したい URL]’,
‘og:type’ => ‘[ページのタイプ]’,
‘og:title’ => ‘[ページのタイトル]’,
‘og:locale’ => ‘[言語_地域コード]’,
‘og:site_name’ => ‘[サイトの名前]’,
‘og:image’ => ‘[ページ内容を表す画像]’,
‘og:description’ => ‘[ページの説明]’,
)
[/php]

設定すれば自動で埋め込まれるので、
テンプレートファイルを変更する必要はありません。

false に設定すると、そのタグは埋め込まれません。
ただし後述の自動取得設定が true になっていたら
それらしい値を自動で挿入します。

ヒント

fb:admins
https://graph.facebook.com/(ユーザー名) で調べられます。
fb:app_id
https://developers.facebook.com/apps で新規作成/確認。
og:type
使えるタイプ名一覧は https://developers.facebook.com/docs/opengraph/#types
og:locale
日本語なら ja_JP, 米語なら en_US.
一覧は XML で提供されてます。 https://www.facebook.com/translations/FacebookLocales.xml

なお、Configure のキー名と view 変数の名前は変更することができます。
手っ取り早いのは view から

[php gutter=”false”]
$this->Ogp->configName = ‘[Configure のキー名]’;
$this->Ogp->varName = ‘[ビュー変数の名前]’;
[/php]

プロパティ名の自動修正

プロパティ名は og:url とか og:site_name とか決まってるんだけど
appid だったか app_id だったか、
siteName だったか site_name だったかわからなくなるとか
いちいち og: って書くのがめんどくさいとかありそうなので
別名で書いても正しく修正されるようにしてあります。

[php gutter=”false”]
‘admin’ => ‘fb:admins’,
‘admins’ => ‘fb:admins’,
‘app_id’ => ‘fb:app_id’,
‘appid’ => ‘fb:app_id’,
‘appId’ => ‘fb:app_id’,
‘appID’ => ‘fb:app_id’,
‘url’ => ‘og:url’,
‘URL’ => ‘og:url’,
‘type’ => ‘og:type’,
‘title’ => ‘og:title’,
‘locale’ => ‘og:locale’,
‘site_name’ => ‘og:site_name’,
‘sitename’ => ‘og:site_name’,
‘siteName’ => ‘og:site_name’,
‘image’ => ‘og:image’,
‘img’ => ‘og:image’,
‘description’ => ‘og:description’,
[/php]

その他のメソッド

set($property, $content = false, $id = false)

View のテンプレートファイル内からタグの設定を書き換えることができます。

[php gutter=”false”]
$this->Ogp->set(‘image’, ‘http://www.msng.info/wp-content/themes/msng/img/oboete.png’);
[/php]

また set() は与えられた文字列をそのまま返すので、
HTML に文字列を出力しつつ、同時に OGP の値を設定することができます。

[html gutter=”false”]

Ogp->set(‘description’, ‘ほげほげについて説明します。’);” />

[/html]

既に設定したプロパティを持つタグを set() した場合、
og:image は追記され、それ以外のプロパティは上書きされます。

ただし $id を指定すると、同じプロパティ名を持つ別のタグを追加します。
image 以外のものを複数入れることってなさそうな気もしますけど一応。

[php gutter=”false”]
$this->Ogp->set(‘description’, ‘これも説明文ですお見逃しなく!’, 2);
[/php]

$contentfalse を指定すると、
既に設定したプロパティ名を持つタグを削除することができます。

[php gutter=”false”]
$this->Ogp->set(‘title’, false);
[/php]

$id を指定して削除することもできます。

[php gutter=”false”]
$this->Ogp->set(‘image’, false, ‘logo’);
[/php]

ただし削除には次の delete() を使った方が自然だと思います。

delete($property, $id = 0)

指定したプロパティ名を持つタグを削除します。
set() で設定した $id を指定して削除することもできます。

set()$id が無指定の場合は 0 になるので、
$id 無指定で set() したものは $id 無指定で削除できます。

ns()

OgpHelper 自体はレイアウトやテンプレートを変更しなくても動くんだけど
<html /> 要素に OGP と FB の namespace 属性を指定するのが本当なので
それを出力するためのメソッドです。

[html gutter=”false”]
Ogp->ns(); ?> />
[/html]

で、次のように出力されます。

[html gutter=”false”]

[/html]

その他の設定

$autoGet

各値の自動取得を行うかどうかの設定です。

[php gutter=”false”]
public $autoGetUrl = true;
public $autoGetTitle = true;
public $autoGetSiteName = true;
public $autoGetLocale = true;
[/php]

いずれも、その値がどこにも設定されていない場合に作動します。

$autoGetUrl
現在リクエストされている URL を出力します。
$autoGetTitle
現在の View レイアウトでの $title_for_layout を出力します。
$autoGetSiteName
現在の View レイアウトの <title /> 内の文字列を出力します。__() やグローバル変数などの出力も評価します。ただし少々強引に切り取っていますし、サイト名なんてアプリケーション全体で変わらないものだから素直に Configure した方が賢いと思います。
$autoGetLocale
アプリケーションでの現在の設定から言語を拾い、og:locale の値にマッピングできる場合は自動で出力します。次項を参照してください。

$locales

CakePHP で使われる言語コードと
og:locale コードをマッピングします。
主に $autoGetLocale の設定でロケールを自動取得する場合に使用されます。

これらは完全に1対1で対応させることができないので、
初期設定では次のものだけが指定してあります。

[php gutter=”false”]
array(
‘ja’ => ‘ja_JP’,
‘en’ => ‘en_US’,
)
[/php]

これ以外のロケール値を指定する場合は
アプリケーションのどこか (bootstrap.php など) で
次のように指定してください。

[php gutter=”false”]
Configure::write(‘OGPlocales’, array(
‘fr’ => ‘fr_FR’,
‘it’ => ‘it_IT’,
));
[/php]

ここでの設定と初期設定はマージされ、
Configure されたものが優先されます。

また Configure のキー名 OGPlocales
次項の $configLocaleName で変更できます。

$configLocaleName

前項の $locales にマージされる Configure のキー名を指定します。
初期設定は ‘OGPlocales‘ です。

コード

以下に貼りますけど、直接 gist で見た方がはやいかも。

利用しているサービス

OGP Helper は先日公開したこのサービスで使っています。

もう終了したけどな。

次の人

CakePHP Advent Calendar 2011
明日は @papettoTV さんですお楽しみに!