at_yasu's blog

ロード的なことを

個人的な自転車的なメモ書き

クリーナーの話

rbs.ta36.com

いいクリーナー無いかなーと言うわけで色々探してたらコレがよさそう

www.amazon.co.jp

で、中の人が少しばかり解説してる動画

www.youtube.com

www.youtube.com

チェーンの隙間?に砂利が入ってるから出さないとね、という話があって、少しやってみたら感触的にジャリジャリ鳴るわで…うん…

タイヤの話

blog.livedoor.jp

確かにパナのはツルッとしてるよねー、グラベルキングがいい感じっぽい。ほぉ

「Laravel エキスパート 養成読本」が届きました!

こんにちは

最近はもっぱら Laravel4 やら Laravel5 を行ったり来たりしてる日々です。

そんなある日に、関西のPHP勉強会などでお世話になっている Shin x blog の新原さんから献本どうでしょう、と来たので即答でお願いしますと返しまして今に至ります。

献本ありがとうございます :-)

ただ、まとまって読む時間があまり取れてなくて、まださらっと読んだ感じで、がっつり読んだわけではないです、ごめんなさい。

f:id:at_yasu:20150417111543p:plain

Laravelは4が出た頃から触り始めていますが、最近は Laravel5 がメインになっています。

個人的な昔の話ですが、Pythonを少しさわってた頃やJavaを少しさわってました。その頃はクラスは Namespace = ディレクトリ構成になっており、それに比べてのPHPは、クラスがあるのにnamespaceの扱いがものすごく扱いにくい物と感じてました。しかし、最近は PSR-4のおかげで割りと開発しやすくなり、そしてそのPSR-4に強制的に?対応しているLaravel5は、個人的にすごく使いやすいです。

本は、その Laravel の入門から、IoCコンテナ、EloquentなどのMVC、Laravel5の新機能、アプリケーション作成の実践、といった具合にLaravel4だけではなく、Laravel5の事も書かれています。

Laravelは一部わからん所あるけどそれなりに使いこなしてるかなぁ、という少しあやふやな感じで使っていましたが、この本でそのわからない、わかっていないところを補正できたので、ありがたく感じてます。特に Fasadeとか内部の込み入った所とか。ソースコードを追っかける気があまりないダメな理由なんですが。

そんなLaravelなのですが、Web開発者はこの本を買って Laravel とたわむれるのもいいと思いますよ :-)

www.amazon.co.jp

後でまた書くかも :-p

相手を招待する

今の今まで知らなかった、Gmail+Calenderの機能。

相手がGmailを使ってる場合、招待状を送ることでカレンダーに予定を追加させることができるっぽい。
もちろん許可、不許可や中止など、最終的な操作は向こうができるから、強制的にカレンダーへ追加することはできないけどね。
ただ、Gmailからだと新規作成で予定の作成ができたが2014/07以降は使えなくなるっぽいので、Calenderで予定を作ってから招待という手順になる。

これ: https://support.google.com/calendar/answer/37161?hl=ja

Gmail から送った招待メールはただのText/HTMLだけなんだけど、スパムメール業者がOutlookで送ってきて、それ見たらどうもcalenderのフォーマットであればうまくいくっぽい。

そのスパム業者のメールを見たら、こんな感じだった。

Content-Type: text/calendar; method=REQUEST; name=meeting.ics
Content-Transfer-Encoding: 7bit

BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 12.0 MIMEDIR//EN
VERSION:2.0
METHOD:REQUEST
X-MS-OLK-FORCEINSPECTOROPEN:TRUE
BEGIN:VEVENT
ATTENDEE;CN=A.YASUI+TEST@GMAIL.COM;RSVP=TRUE:mailto:A.YASUI+TEST@GMAIL.COM
CLASS:PUBLIC
CREATED:20140514T140009Z
DTEND:20140514T200009Z
DTSTAMP:20140514T202209Z
DTSTART:20140514T203009Z
LAST-MODIFIED:20140514T143050Z
LOCATION:Test Nanodesu
ORGANIZER;CN="Tesutonano":mailto:a.yasui@gmail.com
PRIORITY:5
SEQUENCE:0
SUMMARY;LANGUAGE=ja-jp:Tesuto nano
TRANSP:OPAQUE
UID:{1e991223-9e1c-4aa9-b8c6-92d9b6e13dce}
X-MICROSOFT-CDO-BUSYSTATUS:TENTATIVE
X-MICROSOFT-CDO-IMPORTANCE:1
X-MICROSOFT-CDO-INTENDEDSTATUS:BUSY
X-MICROSOFT-DISALLOW-COUNTER:FALSE
X-MS-OLK-ALLOWEXTERNCHECK:TRUE
X-MS-OLK-AUTOSTARTCHECK:FALSE
X-MS-OLK-CONFTYPE:0
X-MS-OLK-SENDER;CN="Tesuto Nano":mailto:a.yasui@gmail.com
BEGIN:VALARM
TRIGGER:-PT15M
ACTION:DISPLAY
DESCRIPTION:Reminder
END:VALARM
END:VEVENT
END:VCALENDAR

とりあえず。

__str__ と __unicode__ と Python3

いちおう、Django1.5から(だっけ?忘れた)はPython3対応をうたってるけど、__str__ と __unicode__ があってそれの対応方法

デコレ

from django.utils.encoding import python_2_unicode_compatible 
@python_2_unicode_compatible 
class Room (models.Model): 
  def __str__ (self): return self
  # def __unicode__ (self): return self # これが有効になっているとエラーを出す

CakePHP の DebugToolbar みたいなのがほしい

django-debug-toolbar をいれればいい(Django1.6で動いた)

1. pip install django-debug-toolbar
2. インストールした先(virtualenv で py27 とかしている場合、「py27/lib/python2.7/site-packages/debug_toolbar」)にあるtemplates と static を適切なディレクトリにまるごとコピー
3. settings.py に色々追記

MIDDLEWARE_CLASSES = (
    …
    'debug_toolbar.middleware.DebugToolbarMiddleware', # 一番最後出ないとダメだけ、GZip 使ってる場合はそれより上に。
)
INTERNAL_IPS = ('127.0.0.1',)
DEBUG_TOOLBAR_PANELS = (
    'debug_toolbar.panels.version.VersionDebugPanel',
    'debug_toolbar.panels.timer.TimerDebugPanel',
    'debug_toolbar.panels.settings_vars.SettingsVarsDebugPanel',
    'debug_toolbar.panels.headers.HeaderDebugPanel',
    'debug_toolbar.panels.request_vars.RequestVarsDebugPanel',
    'debug_toolbar.panels.template.TemplateDebugPanel',
    'debug_toolbar.panels.sql.SQLDebugPanel',
    'debug_toolbar.panels.signals.SignalDebugPanel',
    'debug_toolbar.panels.logger.LoggingPanel',
)
DEBUG_TOOLBAR_CONFIG = {
    'INTERCEPT_REDIRECTS': True,
    'SHOW_TOOLBAR_CALLBACK': lambda (request): True,
    'EXTRA_SIGNALS': [],
    'HIDE_DJANGO_SQL': True,
    'TAG': 'div',
}

4. これでだいたい見れた